본문 바로가기

웹 개발

웹 개발_java_2022/10/24_메소드

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