자바 배열 예제

JISO.O·2022년 9월 13일
0

Java

목록 보기
8/8
post-thumbnail

0~100 사이의 점수를 10개 입력받고 그 중 최댓값을 구하세요.

전체코드

import java.util.Scanner;
public class Array_max2 {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int[] score = new int[10];
		//점수 입력 for문
		for(int i=0; i<score.length; i++) {
			score[i] = scan.nextInt();			// score를 입력받는다
			while((score[i]<0) || (score[i]>100)){		// score의 범위가 잘못되었을 때
				System.out.println("숫자의 범위가 초과되었습니다.");		// 경고 메세지
				System.out.print("0~100까지의 숫자를 다시 입력해주세요 : ");
				score[i] = scan.nextInt();		// 다시 입력함
			}
		}
		int max = score[0];
		//최대값을 구하는 for문
		for(int i=1; i<score.length; i++) {
			if(max<score[i]) {
				max=score[i];
			}
		}
		System.out.println("max = " + max); 
	}
}

점수 입력 배열 선언, 생성

int[] score = new int[10];

점수 입력

for(int i=0; i<score.length; i++){
	score[i] = scan.nextInt();
    //여기까지는 점수의 범위를 고려하지 않고 짠 코드이다.
    //잘못된 범위를 입력했을 때 그 점수를 다시 입력하게 하는 코드를 짜보자
    while(score[i]<0 || score[i]>100){
   		System.out.println("잘못된 점수를 입력하셨습니다.");
        System.out.print("0~100 사이의 점수를 입력해주세요");
        score[i] = scan.nextInt();
   }
}

while (score[i] < 0 || score[i] > 100)
while문은 참일 때 문장들이 수행된다. 만약 0~100 밖의 숫자들이 입력되면 while문의 문장들을 수행한다.

System.out.println("잘못된 점수를 입력하셨습니다."); System.out.print("0~100 사이의 점수를 입력해주세요");
score[i] = scan.nextInt();
경고 메세지를 출력한 뒤 잘못된 입력된 점수를 다시 입력받는다.

max 초기화

int max = score[0];

max는 첫 번째 배열의 값으로 초기화 해준다.

최댓값 구하기

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

max, 즉 배열의 첫 번째 값부터 10번째 값을 비교하면서 max보다 큰 값이 있으면 그 값을 max에 넣어준다.

예를 들어 max의 값이 10이고 두 번재 배열의 값이 20이라면 두 번째 배열의 값이 max가 된다.
max가 20이 된 상태에서 세 번째 배열의 값과 max를 비교한다. 만약 세 번째 배열의 값이 3이라면 max의 값은 20으로 유지된다.
이러한 방법으로 마지막에 max에 가장 큰 값이 저장된다.

최댓값 출력

System.out.println("max = " + max);
profile
미림마이스터고등학교에서 개발을 공부중인 학생입니다!

0개의 댓글