java연습문제 - 학생 수 , 점수 , 입력받아 최고점수, 평균점수 나타내는 프로그램

imjingu·2023년 8월 8일
0

개발공부

목록 보기
339/481
package chapter20230808;
import java.util.*;
public class test07 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		/* 키보드로 부터 학생 수와 각 학생들의 점수를 입력받아서, 최고 점수 및 평균 점수를 구하는 프로그램입니다.
        실행결과를 보고 알맞게 작성해 보세요. */
		
        boolean run = true; // 반복문의 조건으로 사용 -> 값이 false가 된다면 반복문이 종료
        int studentNum = 0; // 학생수
        int[] scores = null; // 점수를 입력 받을 빈 배열 생성. 사용자에게 입력받은 학생수를 기준으로 배열 생성.
        int max = 0; // 최고점수 나타내기 위해 저장
        int average = 0; // 평균 점수 나타내기 위해 저장
        
        Scanner scanner = 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 = scanner.nextInt();
            if (selectNo == 1) {
                // 작성 위치. 학생수를 입력 받아서 배열 생성
            	System.out.print("학생수> ");
				studentNum = scanner.nextInt();
				scores = new int [studentNum]; // scores에 studentNum으로 받은 숫자수 만큼 배열의 인덱스로 넣어줌
				System.out.println(Arrays.toString(scores)); // 배열로 들어갔는지 확인
				
            } else if (selectNo == 2) {
                // 작성 위치. 생성된 배열의 갯수 만큼 점수 입력
            	for(int i = 0; i < scores.length; i++) {
            		System.out.print("각 학생 점수> ");
            		scores[i] = scanner.nextInt(); // scores에 i 값을 이용해 각 인덱스에 점수를 넣어줌
            	}
            	System.out.println(Arrays.toString(scores)); // 배열로 들어갔는지 확인
            	
            } else if (selectNo == 3) {
                // 작성 위치. 입력받은 배열의 값을 출력
            	for(int i = 0; i < scores.length; i++) {
            		System.out.println("학생" +"["+ i +"] "+ scores[i]);
            	}
            	
            } else if (selectNo == 4) {
                // 작성 위치. 최고 점수, 평균 점수 출력
            	for(int i = 0; i < scores.length; i++) {
            		max = scores[i] > max ? scores[i] : max;
            		average += scores[i];
            	}
            	System.out.println("최고 점수는 " + max + " 이며" + " 평균 점수는 " + (double)average/studentNum + " 입니다.");
            		
            } else if (selectNo == 5) {
                // 작성 위치. run 값 변경
            	run = false;
            }
        }
        System.out.println("프로그램 종료");
        
	}

}

0개의 댓글