이번 문제는 입력값의 최댓값과 위치를 찾는 문제이다.
바로 작성한 코드를 올리겠다.
import java.util.*;
import java.io.*;
public class Step4_3 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[] N = new int[9];
int max = N[0];
int index = 0;
for(int i = 0; i < N.length; i++) {
N[i] = Integer.parseInt(br.readLine());
if(max < N[i])
max = N[i];
if(max == N[i])
index = i+1;
System.out.println(max);
System.out.println(index);
}
}
}
9개의 정수를 입력 받을 배열을 만들고 입력값을 바로 배열에 저장시키면 된다.
그리고 최댓값은 조건문을 이용하여 찾도록 하고, 최댓값이 i번째 인덱스와 일치하면 i+1은 인덱스의 위치이다.
그리고 아래는 내가 오늘 공부한 예외처리를 약간 적용해봤는데, 예외처리는 그닥 복잡한게 아닌거 같다.
import java.util.*;
import java.io.*;
public class Step4_3 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[] N = new int[9];
int max = N[0];
int index = 0;
try {
for(int i = 0; i < N.length; i++) {
System.out.print("숫자를 입력하세요 > ");
String input = br.readLine();
N[i] = Integer.parseInt(input);
if(max < N[i])
max = N[i];
if(max == N[i])
index = i+1;
}
System.out.println(max);
System.out.println(index);
} catch(NumberFormatException ne) {
System.out.println("잘못된 입력입니다. 정수를 입력해주세요");
} catch(IOException ioe) {
System.out.println("입력이 종료되었습니다.");
} catch(ArrayIndexOutOfBoundsException ae) {
System.out.println("숫자 9개를 입력해주세요.");
} catch(Exception e) {
System.out.println("예외가 발생했습니다." + e.getMessage());
}
}
}
'알고리즘 분류 > Step4 1차원 배열' 카테고리의 다른 글
</Step4_6> 10813 공 바꾸기 JAVA (0) | 2023.03.20 |
---|---|
</Step4_5> 10810 공 넣기 JAVA (0) | 2023.03.19 |
</Step4_3> 10818 최소, 최대 JAVA (0) | 2023.03.17 |
</Step4_2> 10871 X보다 작은 수 JAVA (0) | 2023.03.16 |
</Step4_1> 10807 개수 세기 JAVA (0) | 2023.03.15 |