package j08_메소드;
import java.util.Random;
public class RandomNumber {
public static int/*return되는 값의 자료형지정,반환자료형*/ calcRandom(int m) {
Random random = new Random();
int result = random.nextInt(10)*1000+m;
return result;
}
public static void main(String[] args) {
/*Random random = new Random();*/
int money = 5000;
/*int a = random.nextInt(10)*1000+money;
System.out.println(a);
int b = random.nextInt(10)*1000+money;
System.out.println(b);
int c = random.nextInt(10)*1000+money;
System.out.println(c);
int d = random.nextInt(10)*1000+money;
System.out.println(d);
System.out.println(a+b+c+d);*/
/* for (int i = 0; i < 10; i++) {
int randomNum = random.nextInt(100)+100;
System.out.println(randomNum);
}*/
System.out.println(calcRandom(money));//코드의 재사용 메소드 정의
System.out.println(calcRandom(money));
System.out.println(calcRandom(money));
System.out.println(calcRandom(money));
System.out.println(calcRandom(money));
System.out.println(calcRandom(money));
int r = calcRandom(money);
System.out.println(r+100);
System.out.println(r+1000);
System.out.println(r+10000);
System.out.println(r+100000);
}
}
메소드는 main클래스 함수로서 코드를 재활용 하기위한 것이다
이때문에 자바는 객체지향 언어라고 불린다 이번에는 주석으로 설명해보니 주석을 보도록하자
메소드의 종류
package j08_메소드;
/*
* 메소드란? 함수이다.
* 함수란? 일련의 동작을 묶어 정의할 것
* 특징: 입력과 출력을 가질수있다.
* 그러면 왜 메소드라고 부르는가?
*
* 클래스 안에 함수를 정의하면 메소드라고 부른다
* 함수를 실행하는 것을 우리는 호출(call) 라고 칭한다
* */
public class Method1 {
//1.[x | x] 입력(매개변수),출력(반환)
public static void/*void는 반환이 없다는 뜻*/ call() {
System.out.println("[x | x]");
}
//2.[o | x]
public static void call2(String str) {
System.out.println("[o | x]");
System.out.println("수업과목:"+str);
}
//3.[x | o]
public static String call3(String str) {
System.out.println("[x | o]");
String result ="";
for(int i = 0;i< 5; i++){
for (int j = 0; j < i+1; j++){
result += "*";
}
result += "\n";
}
return result;
}
//4.[o | o]
public static String call4(int year,int month, int day) {
System.out.println("[o | o]");
return year+ "년 "+month+"월 "+day+"일 ";
}
//main 메소드
public static void main(String[] args) {
call();
call2("java");
String star1=call3("java");
System.out.println(star1);
String date =call4(2022,10,24);
System.out.println(date);
}
}
메소드에도 종류가 있다 4종류가있는데 입력도 안받고 반환도 안하는 메소드
입력은 받고 반환은 안하는 메소드
입력은 안하고 반환은 하는 메소드
입력도 받고 반환도하는 메소드
예시는 위에 있으니 참고하도록하자
package j08_메소드;
import java.util.Scanner;
public class Method2 {
/*
* 별찍기
* 1.*/
public static String getStar(int x,int y) {
String result = "";
if(y == 1) {
for (int i = 0; i < x; i++) {
for (int j = 0; j < i+1; j++) {
result += "*";
}
result += "\n";
}
}else if (y == 2) {
for (int i = 0; i < x; i++) {
for (int j = 0; j < x-i; j++) {
result += "*";
}
result += "\n";
}
} else if (y == 3) {
System.out.println("메뉴3을 선택하셨습니다");
for (int i = 0; i < x; i++) {
for (int j = 0; j < x-i; j++) {
result += " ";
}
for (int j = 0; j < i+1; j++) {
result += "*";
}
result += "\n";
}
} else if (y == 4) {
for (int i = 0; i < x; i++) {
for (int j = 0; j < i+1; j++) {
result += " ";
}
for (int j = 0; j < x-i; j++) {
result += "*";
}
result += "\n";
System.out.println();
}
} else {
System.out.println("입력오류!!");
}
return result;
/*switch (y) {
case 1:
System.out.println("메뉴1을 선택하셨습니다");
for (int i = 0; i < x; i++) {
for (int j = 0; j < i+1; j++) {
System.out.print('*');
}
System.out.println();
}
break;
case 2:
System.out.println("메뉴2을 선택하셨습니다");
for (int i = 0; i < x; i++) {
for (int j = 0; j < x-i; j++) {
System.out.print('*');
}
System.out.println();
}
break;
case 3:
System.out.println("메뉴3을 선택하셨습니다");
for (int i = 0; i < x; i++) {
for (int j = 0; j < x-i; j++) {
System.out.print(' ');
}
for (int j = 0; j < i+1; j++) {
System.out.print('*');
}
System.out.println();
}
break;
case 4:
System.out.println("메뉴4을 선택하셨습니다");
for (int i = 0; i < x; i++) {
for (int j = 0; j < i+1; j++) {
System.out.print(' ');
}
for (int j = 0; j < x-i; j++) {
System.out.print('*');
}
System.out.println();
}
break;
}*/
}
public static void main(String[] args) {
//입력
Scanner scanner = new Scanner(System.in);
int n = 0;
int select = 0;
System.out.print("별의 갯수입력:");
n = scanner.nextInt();
System.out.println("1.왼쪽에 치우친 증가하는별");
System.out.println("2.오른쪽에 치우친 증가하는별");
System.out.println("3.왼쪽에 치우친 감소하는별");
System.out.println("4.오른쪽에 치우친 감소하는별");
System.out.print("메뉴 선택:");
select = scanner.nextInt();
System.out.println(getStar(n,select));
}
}
이코드는 스위치문과 메소드와 별찍기를 합친건데 찍을 별의 갯수 모양 등을 입력받아 사용할수있다. 참쉽죠?
'웹 개발' 카테고리의 다른 글
웹 개발_java_2022/10/26_class (0) | 2022.10.27 |
---|---|
웹 개발_java_2022/10/25_Git (0) | 2022.10.25 |
웹 개발_java_2022/10/21_반복문 (0) | 2022.10.24 |
웹 개발_jaava_2022/10/21_조건문 (0) | 2022.10.21 |
웹 개발_java 2022/10/21 scanner (0) | 2022.10.21 |