5일차: JAVA 함수

jk·2024년 1월 5일
0

kdt 풀스택

목록 보기
8/127



1. 아래를 출력 하시오.

*****
1****
11***
111**
1111*
// 코드
for(int i = 0; i < 5; i++) {
    for(int j = 0; j < 5; j++) {
        if (j < i) {
            System.out.print("1");
        } else {
            System.out.print("*");
        }
    }
    System.out.print("\n");
}



2.아래가 의도하지 않은 결과를 나타내는 이유를 설명하시오.

char ch = '가';
System.out.println(ch + '\n');
  • literals 에서 int 이하의 연산은 int 로 처리되기 때문에 char '가'와 char '/n'가 int 로 자동형변환돼서 더해졌다. 따라서 값은 int 로 나온다.



3. 함수(메소드)는 어떻게 알아 볼수있는가?

  • 괄호가 붙어있다.
  • 예시: fn();



4. 함수 호출 하는 법은?

  • 그 함수의 이름을 적고 괄호안에 해당하는 매개변수를 입력한다(매개변수를 요구하지 않는 경우에는 넣으면 안 된다).



5. 함수 만드는 법은?

  • class 의 중괄호{} 안에 작성한다.
  • void 가 아닌 경우에는 해당 데이터형을 return 한다.
  • 입력될 매개변수의 데이터형과 이름을 작성한다.
  • Java 에서는 같은 이름의 다른 함수를 작성하면서 입력값과 출력값을 바꾸는 것도 가능하다.



6. 리턴 타입 void 는 어떠한 경우에 쓰는가?

  • 그 함수의 결과값을 받아올 필요가 없을 때 사용한다.



7. 아래를 함수로 만드시오.

starPrint2(5) 
//	출력
//	*****
//
//	   ****
//
//	     ***
//
//	       **
//
//	         *
// 코드
static void starPrint2(int num) {
    for (int i = 0; i < num; i++) {
        for(int j = 0; j < num; j++) {
            if (j < i) {
                System.out.print("  ");
            } else {
                System.out.print("*");
            }
        }
        System.out.print("\n\n ");
    }
}



8. 아래의 함수를 만드시오.

char grade;
double avg = 80;
grade = getGrade(avg);
System.out.println(grade + " 입니다.");	// 우 입니다.
// 코드
static char getGrade(double avg) {
    char grade;
    if (avg >= 90.) {
        grade = '수';
    } else if (avg >= 80.) {
    	grade = '우';
    } else if (avg >= 70.) {
    	grade = '미';
    } else if (avg >= 60.) {
    	grade = '양';
    } else {
    	grade = '가';
    }
    return grade;
}



9. 아래의 함수를 만드시오.

int sum = getHap(1,100);
System.out.println(sum);	//5050
// 코드
static int getHap(int num1, int num2) {
    int sum = 0;
    for (int i = num1; i <= num2; i++) {
        sum += i;
    }
    return sum;
}



10. 아래의 함수를 만드시오.

int count = get57(1,100);
//count 는 1부터 100 까지의 숫자중 5의 배수 이자 7의 배수인 수의 갯수
System.out.println(count);
// 코드
static int get57(int num1, int num2) {
    int count = 0;
    for(int i = num1; i <= num2; i++) {
        if ((i % 5 == 0) && (i % 7 == 0)) {
            count += 1;
        }
    }
    return count;
}



11. 아래의 함수를 만드시오.

printGuGudan(3)// 3단 출력
printGuGudan(4)// 4단 출력
// 코드
static void printGuGudan(int dan) {
    for (int i = 1; i <= 9; i++) {
        System.out.println(dan + " x " + i + " = "+ (dan * i));
    }
}



12. 아래의 함수를 만드시오.

getRecArea(3,5) //사각형 넓이
getRecCirlce(5) //원넓이
getTriangleArea(4 , 5) //삼각형 넓이
// 코드
//
// getRecArea(length, height)
//
static double getRecArea(double length, double height) {
    double area = length * height;
    return area;
}
static double getRecArea(int length, int height) {
    return getRecArea((double)length, (double)height);
}
static double getRecArea(double length, int height) {
    return getRecArea(length, (double)height);
}
static double getRecArea(int length, double height) {
    return getRecArea((double)length, height);
}
//
// getRecCirlce(radius)
//
static double getRecCirlce(double radius) {
    double area = Math.PI * Math.pow(radius, 2);
    return area;
}
static double getRecCirlce(int radius) {
    return getRecCirlce((double)radius);
}
//
// getTriangleArea(length, height)
//
static double getTriangleArea(double length, double height) {
    double area = 0.5 * length * height;
    return area;
}
static double getTriangleArea(int length, int height) {
    return getTriangleArea((double)length, (double)height);
}
static double getTriangleArea(double length, int height) {
    return getTriangleArea(length, (double)height);
}
static double getTriangleArea(int length, double height) {
    return getTriangleArea((double)length, height);
}



13. 함수로 만들면 좋은점은? ★★★★

  • 같은 작업을(중복) 하지 않기 위해
  • 기능이 2번 이상 중복되면 반드시 함수로 만들것.



14. 아래의 함수를 만드시오.

int month = 4;
getSeason(3)	// 봄입니다. 출력
getSeason(12)	// 겨울 입니다. 출력
//코드
static void getSeason(int month) {
    String print = new String();
    switch(month) {
        case 12:
        case 1:
        case 2: {
            print = "겨울";
            break;
        }
        case 3:
        case 4:
        case 5: {
            print = "봄";
            break;
        }
        case 6:
        case 7:
        case 8: {
            print = "여름";
            break;
        }
        case 9:
        case 10:
        case 11: {
            print = "가을";
            break;
        }
        default: {
            print = "잘못된 달";
        }
    }
    print += "입니다.";
    System.out.println(print);
}
profile
Brave but clumsy

0개의 댓글