x와 y를 입력받고
둘의 합을 출력하되,
짝수면은 그대로 출력하고
홀수면은 x랑 y를 다시 입력받는
프로그램을 짜보도록 하겠습니다.
import java.util.Scanner;
public class FMain3 {
public static int getX() {
Scanner sc = new Scanner(System.in);
System.out.println("x : ");
int x = sc.nextInt();
return x;
}
public static int getY() {
Scanner sc = new Scanner(System.in);
System.out.println("y : ");
int y = sc.nextInt();
return y;
}
먼저 x와 y를 입력받는 함수입니다.
이 부분은 많이 다뤄서 넘어가도록 하겠습니다.
public static int getResult(int x, int y) {
int sum = x + y;
return (sum %2 == 0 ? sum : getResult(getX(),getY()));
}
public static void main(String[] args) {
int x = getX();
int y = getY();
System.out.println(x);
System.out.println(y);
int sum = getResult(x, y);
System.out.println(sum);
}
}
둘의 덧셈을 출력하는 코드입니다.
이때 2로 나눴을 때 나머지가 0이면은
sum을 그대로 출력하고 아니면
getResult함수를 재호출하여
x와 y를 다시 입력받습니다.
이떄 주의할 점은
return (sum %2 == 0 ? sum : getResult(getX(),getY()));}
getResult 함수의 파라미터로
x,y 가 아닌 getX(), getY()함수를 호출해야 한다는 점입니다.
getResult를 재호출하게 되면
x, y가 선언되어 있지 않기 떄문에
무한루프를 돌게됩니다.
x, y를 입력받는 함수인 getX(), getY()를
파라미터로 전달하여
실행해야 합니다.
'Java > 실습' 카테고리의 다른 글
[Java] 점수에 따라서 학점 부여하기(switch - case 문) (0) | 2024.11.27 |
---|---|
[Java] 중복 case의 경우 (switch - case문) (0) | 2024.11.27 |
[Java] 각 자릿수의 숫자를 더한 값 구하기 (0) | 2024.11.26 |
[Java] 피보나치 수열 (0) | 2024.11.26 |
[Java] Factorial (0) | 2024.11.26 |