728x90
순서대로 학생 5명의 이름과 국어, 영어, 수학 점수를 입력받고
저장된 1~5번 학생의 이름과 총점을 호출해보자. -1을 입력하면 종료
[결과]
보고싶은 학생 : 3
3번 학생의 총점 :
보고싶은학생 : 4
4번 학생의 총점 :
보고싶은학생 : 99
잘못입력하셨습니다.
package day0911;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Ex01Array_1 {
// 2개의 배열을 동시에 사용해서
// 이름과 총점을 동시에 관리하자
final static int SIZE = 5;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// 이름을 담당할 배열
String[] nameArray = new String[SIZE];
// 총점을 담당하는 배열
int[] sumArray = new int[SIZE];
// 차례대로 입력을 해보자
for (int i = 0; i < SIZE; i++) {
System.out.print((i + 1) + "번 학생의 이름 : ");
nameArray[i] = br.readLine();
// 국어점수
System.out.print(nameArray[i] + "학생의 국어점수 : ");
int korean = Integer.parseInt(br.readLine());
while (korean < 0 || korean > 100) {
System.out.println("잘못입력하셨습니다.");
System.out.print(nameArray[i] + "학생의 국어점수 : ");
korean = Integer.parseInt(br.readLine());
}
// 영어점수
System.out.print(nameArray[i] + "학생의 영어점수 : ");
int english = Integer.parseInt(br.readLine());
while (english < 0 || english > 100) {
System.out.println("잘못입력하셨습니다.");
System.out.print(nameArray[i] + "학생의 영어점수 : ");
english = Integer.parseInt(br.readLine());
}
// 수학점수
System.out.print(nameArray[i] + "학생의 수학점수 : ");
int math = Integer.parseInt(br.readLine());
while (math < 0 || math > 100) {
System.out.println("잘못입력하셨습니다.");
System.out.print(nameArray[i] + "학생의 수학점수 : ");
math = Integer.parseInt(br.readLine());
}
sumArray[i] = korean + english + math;
}
System.out.println();
// 보고싶은 학생의 번호를 입력하면 그 학생의 정보를 출력하게 만들어보자
// System.out.print("보고싶은 학생의 번호를 입력하세요(1~5) : ");
// int userChoice = Integer.parseInt(br.readLine())-1;
// System.out.println(nameArray[userChoice]+"학생의 총점 : "+sumArray[userChoice]);
while (true) {
System.out.println("보고싶은 학생의 번호를 입력하세요(1~5, -1은 종료) : ");
System.out.print("> ");
int userChoice = Integer.parseInt(br.readLine());
if (userChoice == -1) {
// 사용자가 종료를 선택했을때
System.out.println("사용해주셔서 감사합니다.");
break;
} else if (userChoice >= 1 && userChoice <= 5) {
// 학생번호가 유효할때
int index = userChoice - 1;
// 첫번째 학생을 본다치면 user는 1을 치지만 배열의 첫번째는 0이다.
// 그래서 입력되는 값에서 -1을 하면 배열의 i와 일치한다.
System.out.println(nameArray[index] + "학생의 총점: " + sumArray[index]);
} else {
// 잘못입력했을때
System.out.println("잘못입력하셨습니다.");
}
}
}
}
1번 학생의 이름 : 1 1학생의 국어점수 : 1 1학생의 영어점수 : 1 11학생의 수학점수 : 2번 학생의 이름 : 2 2학생의 국어점수 : 2 2학생의 영어점수 : 2 2학생의 수학점수 : 2 3번 학생의 이름 : 3 3학생의 국어점수 : 3 3학생의 영어점수 : 3 3학생의 수학점수 : 3 4번 학생의 이름 : 4 4학생의 국어점수 : 4 4학생의 영어점수 : 4 4학생의 수학점수 : 4 5번 학생의 이름 : 5 5학생의 국어점수 : 5 5학생의 영어점수 : 5 5학생의 수학점수 : 5 보고싶은 학생의 번호를 입력하세요(1~5, -1은 종료) : > 6 잘못입력하셨습니다. 보고싶은 학생의 번호를 입력하세요(1~5, -1은 종료) : > 1 1학생의 총점: 3 보고싶은 학생의 번호를 입력하세요(1~5, -1은 종료) : > -1 사용해주셔서 감사합니다. |
728x90
'JAVA' 카테고리의 다른 글
set, get 메소드를 사용하는 이유 (0) | 2020.09.17 |
---|---|
[메소드]toString()메소드 (0) | 2020.09.16 |
배열, 2차원 배열 정리 (0) | 2020.09.12 |
for 연습05 (0) | 2020.09.09 |
숙제-더하기 연습 프로그램(for, 중첩for, while, bufferedReader, (0) | 2020.09.09 |