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

+ Recent posts