[Java] Int 배열의 최댓값 최소값 구하기

▶배열의 최대값 최소값 구하기 

For문을 활용한 방법

//최대값 최소값을 구할 int배열
int array[] = {4,3,2,1,10,8,7,6,9,5};
		
int max = array[0]; //최대값
int min = array[0]; //최소값
		
for(int i=0;i<array.length;i++) {
    if(max<array[i]) {
	//max의 값보다 array[i]이 크면 max = array[i]
	max = array[i];
    }
			
    if(min>array[i]) {
	//min의 값보다 array[i]이 작으면 min = array[i]
	min = array[i];
    }
}
		
System.out.println("최대값 : "+max);
System.out.println("최소값 : "+min);

결과 

최대값 : 10 
최소값 : 1

Arrays 클래스의 sort(정렬)을 활용한 방법

//최대값 최소값을 구할 int배열
int array[] = {4,3,2,1,10,8,7,6,9,5};
int max = array[0]; //최대값
int min = array[0]; //최소값
		
Arrays.sort(array); // 배열 정렬

// 최소값(Min) 출력
 System.out.println("최소값은 : "+array[0]);

// 최대값(Max) 출력
System.out.println("최대값은 : " +array[array.length - 1]);
결과 

최대값 : 10 
최소값 : 1





댓글(9)

  • 정성훈
    2019.10.21 08:39

    int max = array[0]; 에서 array[0] 대신에 0을 넣어 초기화 해줘도 되나요?

    • 김기범
      2019.10.25 19:23

      안됩니다. 배열에 음수가 있으면 안되지요.

    • 2019.10.25 22:56 신고

      배열에 음수가있어도 문제없이 될텐데요..??

  • 2019.10.26 00:14

    위에서 말씀하신 것은 배열이 음수만으로 이루어졌을 때 구현하신 방법으로는 max값이 0에서 바뀌지 않아서 0이 아니라 첫번째 원소로 해야된다는 거에요.

  • 최소값못구해
    2019.10.31 20:27

    public static void main(String[] args) {
    java.util.Scanner sc=new java.util.Scanner(System.in);
    int[] a=new int[10];
    int max=a[0];
    int min=a[0];

    for(int i=0;i<a.length;i++){
    a[i]=sc.nextInt();

    if(a[i]>max){
    max=a[i];
    }
    if(a[i]<min){
    min=a[i];
    }


    }
    System.out.println("최대값은: "+max);
    System.out.println("최소값은: "+min);




    }
    여기서 항상 최소값이 0이나오는데 뭐가문제인지 알수있을까요
    작성자님께서 알려주신 코딩방법에서 스캐너를 추가했는데 초보라 뭐가문젠지 모르겠어요 ㅜㅜ

    • 2019.10.31 23:38 신고

      먼저 Scanner로 숫자를 입력받기전에 최소값 최대값을 a[0] 으로 초기화 시키셔서 그래요. 입력을 다 받고나서 초기값을 지정해주셔야합니다.

      java.util.Scanner sc = new java.util.Scanner(System.in);
      int[] a = new int[10];

      for(int i=0;i<a.length;i++){
      a[i]=sc.nextInt();
      }

      int max=a[0];
      int min=a[0];

      for(int i=0;i<a.length;i++){
      if(a[i]>max){
      max=a[i];
      }
      if(a[i]<min){
      min=a[i];
      }
      }

      System.out.println("최대값은: "+max);
      System.out.println("최소값은: "+min);

    • 2019.10.31 23:39 신고

      좀 더 간단하게 구현하려면 Arrays라는 클래스를 사용해보는것도 좋아요!! 본문수정했으니 확인부탁드려요!

    • 최소값못구해
      2019.11.01 09:29

      오 감사합니다 따라해보니 잘되네요 좋은하루 보내세요!

Designed by JB FACTORY