사용자가 원하는 학생 수로 점수를 입력받는다.
총점, 평균 그리고 최고점수를 구한다.
입력 받은 점수 중에서 90점 이상인 학생 수는 몇명인가?
그리고 그 점수들만을 새로운 배열에 저장하도록 한다.
* 기획하기
//변수와 배열 선언 및 초기화
// 입력
// 학생 수 몇명?
// 학생들의 점수 입력
// 총점
// 평균
// 최고점수
// 90점 이상 받은 학생 수(우등생 수)
// 우등생의 점수를 배열에 저장
// 결과 출력
//변수와 배열 선언 및 초기화
int count = 0;
int number[] = null; // 동적할당을 해줘야하는 요소의 초기화는 null
// 입력
// 학생 수 몇명?
System.out.print("몇 명의 통계를 구하시겠습니까? = ");
count = sc.nextInt();
// 할당 먼저 해주기 (동적할당)
number = new int[count];
// 학생들의 점수 입력
for (int i = 0; i < number.length; i++) {
System.out.print((i + 1) + "번째 점수 = ");
number[i] = sc.nextInt();
}
// 총점
int sum = 0;
for (int i = 0; i < number.length; i++) {
sum = sum + number[i];
}
// 평균
double avg = (double)sum / number.length;
// 최고점수
int max = number[0];
for (int i = 1; i < number.length; i++) {
if(number[i] > max) {
max = number[i];
}
}
// 90점 이상 받은 학생 수(우등생 수)
int high = 0;
for (int i = 0; i < number.length; i++) {
if(number[i] >= 90) {
high++;
}
}
// 우등생의 점수를 배열에 저장
int highCount[] = new int[high];
int n = 0;
for (int i = 0; i < number.length; i++) {
if(number[i] >= 90) {
highCount[n] = number[i];
n++;
}
}
// 결과 출력
System.out.println(Arrays.toString(number));
System.out.println("합계 : " + sum);
System.out.println("평균 : " + avg);
System.out.println("최고점수 : " + max);
System.out.println("90점이상 점수의 학생 수 : " + high);
System.out.println(Arrays.toString(highCount));
'Coding Note > Java' 카테고리의 다른 글
Java 4-1) Wrapper Class 래퍼클래스 / 숫자 ↔ 문자열 변경 / 2진수 8진수 16진수 10진수 (0) | 2021.12.11 |
---|---|
Java 3-6) while문 예제_ 값 입력받아 조건에 맞지 않으면 재입력받는 프로그램 / while문에서 continue 사용하기 / 배열 동적할당 (0) | 2021.12.10 |
Java 3-4) continue문 / for, while문에서 사용해보기 (0) | 2021.12.10 |
Java 3-3) break문 / switch, for, while문에서 사용하기 (0) | 2021.12.10 |
Java 3-2) 반복문 while문 / do while문 / 이중 while문 활용한 구구단 (0) | 2021.12.09 |
댓글