728x90
반복문을 돌며 세 개의 숫자를 입력받고 합계를 계산,
입력받은 값을 기준으로 최소값을 구별하자.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arr = new int[3];
int sum = 0;
int min = Math.min(arr[0], arr[1]);
min = Math.min(arr[2], min);
for (int i = 0; i < arr.length; i++) {
arr[i] = sc.nextInt();
sum += arr[i];
}
if (sum >= 100) {
System.out.println("OK");
} else {
if (min == arr[0]) {
System.out.println("Soongsil");
} else if (min == arr[1]) {
System.out.println("Korea");
} else if (min == arr[2]) {
System.out.println("Hanyang");
}
}
}
}
정답이 아니다.
sc.nextInt()로 값을 입력을 받기 전에 최소값을 미리 계산해버리므로
arr배열은 항상 0으로 채워지고 최소값은 항상 0이 되므로 정답을 출력할 수 없다.
미니멈을 구하는 순서를 sc.nextInt()로 값을 입력받고 배열이 초기화된 이후로 바꿔보자.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arr = new int[3];
int sum = 0;
for (int i = 0; i < arr.length; i++) {
arr[i] = sc.nextInt();
sum += arr[i];
}
int min = Math.min(arr[0], arr[1]);
min = Math.min(arr[2], min);
if (sum >= 100) {
System.out.println("OK");
} else {
if (min == arr[0]) {
System.out.println("Soongsil");
} else if (min == arr[1]) {
System.out.println("Korea");
} else if (min == arr[2]) {
System.out.println("Hanyang");
}
}
}
}
728x90
'JAVA > 오류고민' 카테고리의 다른 글
[백준] 4458번 첫 글자를 대문자로 (3) | 2023.11.24 |
---|---|
[백준] 9093번 단어 뒤집기 (1) | 2023.11.15 |
[백준] 11365번 !밀비 급일 (0) | 2023.11.07 |
[백준] 11006번 남욱이의 닭장 (0) | 2023.11.07 |
[백준] 10872번 팩토리얼 (0) | 2023.11.07 |