본문 바로가기
Java (국비)/Java 문제

배열 문제 1

by Hwanii_ 2023. 5. 6.
728x90

// 상황)

// 학생이 5명

// 우리반 학생의 총 점수 합

// 평균 점수는 ?

// 1등은 몇번인지 ?

int[] stu = new int[5];

stu[0] = 20;

stu[1] = 12;

stu[2] = 63;

stu[3] = 87;

stu[4] = 54;

// 라고 가정한다.

int sum = 0;

		for(int i = 0; i < stu.length; i++) {
			sum += stu[i];
		}
		System.out.print("우리반 학생의 총 점수 합은 >> " + sum);
		System.out.println();

		double avg = sum * 1.0 / stu.length;

		System.out.print("평균 점수는 >> " + avg);
		System.out.println();

		int stuIndex = 0;
		int max = stu[0];

		for(int i = 1; i < stu.length; i++) {
			if(max < stu[i]) {
				max = stu[i];
				stuIndex = i;
			}

		}
		System.out.println("1등은 " + (stuIndex + 1) + "번 이다.");
		System.out.println("1등 점수는 " + max + "이다.");

 

Console

우리반 학생의 총 점수 합은 >> 236

평균 점수는 >> 47.2

1등은 4번 이다.

1등 점수는 87이다.

 

짚고 넘어가야할 부분

 

1. 평균을 구할 때 형변환을 해주기.

    1) 정수값 x 1.0

    2) (double) sum / stu.length

        (강제 형변환) 

 

2. 최대값 알고리즘

(0번째 배열을 기준으로 잡기)

 

3. 1등 점수가 저장된 index를 기억할 변수 생성

 

4. stuIndex + 1

System.out.println("1등은 " + (stuIndex + 1) + "번 이다.");

배열은 0번 부터 시작한다.

(사람은 숫자를 1번부터 새기 때문에,,)

 

 

반응형

'Java (국비) > Java 문제' 카테고리의 다른 글

상속 문제  (0) 2023.05.15
자판기 프로그램 제작 2  (0) 2023.05.12
자판기 프로그램 제작 1  (0) 2023.05.12
배열 문제 3  (0) 2023.05.07
배열 문제 2  (0) 2023.05.06