- 다음은 키보드로부터 학생 수와 각 학생들의 점수를 입력받아서,
최고 점수 및 평균 점수를 구하는 프로그램입니다.
실행 결과를 보고, 알맞게 작성해보세요.
import java.util.Scanner;
public class Exercise09 {
public static void main(String[] args) {
boolean run = true;
int studentNum = 0;
int[] scores = null;
Scanner sc = new Scanner(System.in);
while (run) {
System.out.println("-----------------------"
+ "--------------------------");
System.out.println("1.학생수 | 2.점수입력 |"
+ " 3.점수리스트 | 4.분석 | 5.종료");
System.out.println("-----------------------"
+ "--------------------------");
System.out.print("선택>>> ");
int selectNo = sc.nextInt();
if (selectNo == 1) {
System.out.println("-----------------------"
+ "--------------------------");
System.out.print("학생 수> ");
studentNum = sc.nextInt();
scores = new int[studentNum];
} else if (selectNo == 2) {
for (int i = 0; i < scores.length; i++) {
System.out.println("-----------------------"
+ "--------------------------");
System.out.print("학생 " + (i + 1) + " 점수 입력>");
// i는 0부터 시작하므로 1 더함.
// 배열 i번째에 입력한 점수를 넣음.
scores[i] = sc.nextInt();
}
System.out.println("점수 입력 완료");
} else if (selectNo == 3) {
System.out.println("-----------------------"
+ "--------------------------");
System.out.println("점수 리스트\n");
if (scores == null) {
System.out.println("학생 점수가 입력되지 않았습니다.");
continue; // 처음으로 돌아가기
} else {
for (int i = 0; i < scores.length; i++) {
// i번째 배열 안에 있는 학생 성적 변수를 꺼내 출력함
System.out.println("학생 " + i + ": " + scores[i]);
}
}
} else if (selectNo == 4) {
int max = 0;
int sum = 0;
double avg = 0;
for (int i = 0; i < scores.length; i++) {
// i번째 배열 안 성적 변수가 현재 max값보다 작으면,
// 그대로 두고, 아니면 max값으로 덮어씌움
max = (max < scores[i]) ? scores[i] : max;
sum += scores[i];
}
avg = (double) sum / studentNum;
System.out.println("-----------------------"
+ "--------------------------");
System.out.println("분석\n");
System.out.println("최고 점수: " + max);
System.out.println("평균 점수: " + avg);
} else if (selectNo == 5) {
System.out.println("프로그램 종료");
run = false;
}
} // while
}// main
}
'Java > Learn_Java' 카테고리의 다른 글
Java의 비트 연산자 이용법 (0) | 2020.04.13 |
---|---|
6. 클래스_연습문제(은행 계좌) (0) | 2020.04.05 |
5. 참조 타입 (0) | 2020.03.29 |
4. 조건문과 반복문_활용문제 (0) | 2020.03.29 |
3. 연산자_연습문제 (0) | 2020.03.29 |