Scanner sc = new Scanner(System.in); int[] arr = new int[5]; System.out.println("정수 5개를 입력하세요"); for (int i = 0; i < arr.length; i++) { System.out.print((i + 1) + "번째 숫자 입력 : "); arr[i] = sc.nextInt(); } System.out.print("입력된 숫자 중 짝수는 : "); for (int i = 0; i < arr.length; i++) { if (arr[i] % 2 == 0) System.out.print(arr[i] + " "); } System.out.println(); System.out.print("입력된 숫자 중 홀수는 : "); for (int i = 0; i < arr.length; i++) { if (arr[i] % 2 != 0) System.out.print(arr[i] + " "); }
→
정수 5개를 입력하세요
1번째 숫자 입력 : 1
2번째 숫자 입력 : 2
3번째 숫자 입력 : 3
4번째 숫자 입력 : 4
5번째 숫자 입력 : 5
입력된 숫자 중 짝수는 : 2 4
입력된 숫자 중 홀수는 : 1 3 5
Scanner sc = new Scanner(System.in); int[] arr = new int[3]; int maxNum = 0; // 0 이상만 입력한다고 가정 for (int i = 0; i < arr.length; i++) { System.out.print((i + 1) + "번째 숫자 입력 : "); arr[i] = sc.nextInt(); } for (int i = 0; i < arr.length; i++) { if (maxNum < arr[i]) maxNum = arr[i]; } System.out.println("입력된 수 중 가장 큰 수 : " + maxNum);
→
1번째 숫자 입력 : 100
2번째 숫자 입력 : 70
3번째 숫자 입력 : 90
입력된 수 중 가장 큰 수 : 100
Scanner sc = new Scanner(System.in); int[] arr = new int[5]; for (int i = 0; i < arr.length; i++) { System.out.print((i + 1) + "번째 숫자 입력 : "); arr[i] = sc.nextInt(); } int minNum = arr[0]; for (int i = 0; i < arr.length; i++) { if (minNum > arr[i]) minNum = arr[i]; } System.out.println("배열 요소 중 가장 작은 숫자 : " + minNum);
→
1번째 숫자 입력 : 1
2번째 숫자 입력 : 2
3번째 숫자 입력 : 3
4번째 숫자 입력 : 4
5번째 숫자 입력 : 0
배열 요소 중 가장 작은 숫자 : 0
int[] arr = new int[] {1, 10, 3, 8, 5, 6, 7, 4, 9, 2}; System.out.print("숫자 입력 : "); int input = sc.nextInt(); int index = -1; for (int i = 0; i < arr.length; i++) { if (arr[i] == input) index = i; } // n번째의 경우 배열 세는 방법대로 하자면, 0~9번째라고 해야 하지만 // 일단 1~10번째로 나오도록 바꾸었음. if (index != -1) { System.out.println("입력한 숫자 " + input + "는 " + (index + 1) + "번째에 있습니다."); } else { System.out.println("입력한 숫자를 찾지 못했습니다."); }
→
숫자 입력 : 2
입력한 숫자 2는 10번째에 있습니다.
Scanner sc = new Scanner(System.in); int[] arr = new int[] {1, 10, 3, 8, 5, 6, 7, 4, 9, 2}; while (true) { int runOrStop = 0; for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + " "); // 배열에 저장된 요소 중 0보다 큰 요소가 하나라도 있으면 if (runOrStop < arr[i]) // runOrStop 변수에 저장 runOrStop = arr[i]; } System.out.println(); // 배열에 저장된 모든 요소가 0이면 종료 if (runOrStop == 0) break; System.out.print("숫자 입력 : "); int input = sc.nextInt(); for (int i = 0; i < arr.length; i++) { if (input == arr[i]) { arr[i] = 0; break; } } } System.out.println("프로그램 종료");
→
1 10 3 8 5 6 7 4 9 2
숫자 입력 : 1
0 10 3 8 5 6 7 4 9 2
숫자 입력 : 10
0 0 3 8 5 6 7 4 9 2
숫자 입력 : 2
0 0 3 8 5 6 7 4 9 0
숫자 입력 : 9
0 0 3 8 5 6 7 4 0 0
숫자 입력 : 4
0 0 3 8 5 6 7 0 0 0
숫자 입력 : 7
0 0 3 8 5 6 0 0 0 0
숫자 입력 : 8
0 0 3 0 5 6 0 0 0 0
숫자 입력 : 8
0 0 3 0 5 6 0 0 0 0
숫자 입력 : 8
0 0 3 0 5 6 0 0 0 0
숫자 입력 : 9
0 0 3 0 5 6 0 0 0 0
숫자 입력 : 2
0 0 3 0 5 6 0 0 0 0
숫자 입력 : 0
0 0 3 0 5 6 0 0 0 0
숫자 입력 : 6
0 0 3 0 5 0 0 0 0 0
숫자 입력 : 5
0 0 3 0 0 0 0 0 0 0
숫자 입력 : 3
0 0 0 0 0 0 0 0 0 0
프로그램 종료
[1] 학생 수
선택 시, 학생 수를 입력받아 학생 수 만큼, 학생 점수를 담을 수 있는 배열을 선언하자.
(학생 수는 0보다 크게 입력하고, 학생 수를 입력하지 않았을때는 다른 메뉴들이 작동되지 않도록 한다.)
[2] 점수입력
선택 시, 학생 수만큼 배열을 순회하며 각 요소(점수)를 입력받아 할당하도록 하자.
[3] 점수리스트
선택 시, 각 학생의 점수가 최소 1번 학생부터 n번 학생까지 순차적으로 출력되도록 해 보자.
[4] 분석
선택 시, 학생들의 평균 점수, 학생들 중 최대 점수를 출력하도록 해 보자.
[5] 종료
선택 시, 프로그램을 종료시켜보자.
Scanner sc = new Scanner(System.in); int[] studentArr = null; boolean run = true; while (run) { System.out.println("================================================="); System.out.println("| 1.학생수 | 2.점수입력 | 3.점수리스트 | 4.분석 | 5.종료 |"); System.out.println("================================================="); int input = sc.nextInt(); // 처음에 학생 수를 입력하지 않고 + 배열도 미할당인 상태일 때, if ((input != 1) && (studentArr == null)) { System.out.println("학생 수를 입력하세요."); continue; } switch (input) { case 1: // 학생 수를 받아 배열을 동적 할당 System.out.print("학생 수 입력 : "); int studentNum = sc.nextInt(); studentArr = new int[studentNum]; break; case 2: // 학생 점수 입력받기 for (int i = 0; i < studentArr.length; i++) { System.out.print((i + 1) + "번 학생 점수 입력 : "); studentArr[i] = sc.nextInt(); } break; case 3: // 학생 점수 출력 for (int i = 0; i < studentArr.length; i++) { System.out.println((i + 1) + "번째 학생의 점수 : " + studentArr[i]); } break; case 4: int maxScore = 0; // 최댓값 저장 변수 int sumScore = 0; // 평균 내기 전 점수 합 for (int i = 0; i < studentArr.length; i++) { sumScore += studentArr[i]; if (maxScore < studentArr[i]) { maxScore = studentArr[i]; } } int avgScore = sumScore / studentArr.length; // 학생점수를 학생 수 만큼 나눠 평균 내기 System.out.println("최대 점수 : " + maxScore); System.out.println("평균 점수 : " + avgScore); break; case 5: run = false; break; default: System.out.println("잘못된 입력입니다."); } } System.out.println("프로그램 종료");
→
=================================================
| 1.학생수 | 2.점수입력 | 3.점수리스트 | 4.분석 | 5.종료 |
=================================================
1
학생 수 입력 : 5
=================================================
| 1.학생수 | 2.점수입력 | 3.점수리스트 | 4.분석 | 5.종료 |
=================================================
2
1번 학생 점수 입력 : 10
2번 학생 점수 입력 : 20
3번 학생 점수 입력 : 30
4번 학생 점수 입력 : 40
5번 학생 점수 입력 : 50
=================================================
| 1.학생수 | 2.점수입력 | 3.점수리스트 | 4.분석 | 5.종료 |
=================================================
3
1번째 학생의 점수 : 10
2번째 학생의 점수 : 20
3번째 학생의 점수 : 30
4번째 학생의 점수 : 40
5번째 학생의 점수 : 50
=================================================
| 1.학생수 | 2.점수입력 | 3.점수리스트 | 4.분석 | 5.종료 |
=================================================
4
최대 점수 : 50
평균 점수 : 30
=================================================
| 1.학생수 | 2.점수입력 | 3.점수리스트 | 4.분석 | 5.종료 |
=================================================
5
학생 수
를 입력받는다.학생 수
만큼의 이름 배열
, 점수 배열
을 동적 선언한다.for
문 을 이용해, 이름
과 점수
를 각각 입력받는다.학생의 이름과 점수
를 차례대로 출력한다.Scanner sc = new Scanner(System.in); System.out.print("학생 수 : "); int studentNum = sc.nextInt(); int[] scoreArr = new int[studentNum]; String[] nameArr = new String[studentNum]; for (int i = 0; i < studentNum; i++) { System.out.print("이름 입력 : "); nameArr[i] = sc.next(); } for (int i = 0; i < studentNum; i++) { System.out.print(nameArr[i] + " 학생의 점수 : "); scoreArr[i] = sc.nextInt(); } for (int i = 0; i < studentNum; i++) { System.out.println(nameArr[i] + " : " + scoreArr[i]); }
→
학생 수 : 3
이름 입력 : A
이름 입력 : B
이름 입력 : C
A 학생의 점수 : 100
B 학생의 점수 : 90
C 학생의 점수 : 80
A : 100
B : 90
C : 80