java 100예제 #8

·2022년 1월 20일
0

JAVA

목록 보기
8/14

알고리즘

Math.min(n,m) : n, m 중 작은 수
Math.max(n,m) : n, m 중 큰 수

//정수로 이루어진 배열에서 가장 큰 값을 구하는 최댓값 알고리즘 

public static void main(String[] args) {
		int[] ar = {1, 23, 13, -2,4};
		int max =ar[0];
		int min = ar[0];
		
		for(int i =0;i< ar.length; i++) {
			if (max <= ar[i]) {max=ar[i];}
			if (min >= ar[i]) {min =ar[i];}
		}
        
		System.out.printf("배열내 가장 큰 값 : %d", max);
		System.out.println();
		System.out.printf("배열내 가장 작은 값 : %d", min);
	}
}

Math.random() : 0~1사이 난수를 생성하는 메소드

public static void main(String[] args) {	
		//랜덤으로 정수 10개(0~1범위)를 갖는 배열에서 최대 최소 구하기
        
		int[] ar = new int[10];
		
		for(int i =0 ; i<ar.length;i++) {
			ar[i]=(int)(Math.random()*10);
			System.out.print(ar[i]+"  ");
		}

		System.out.println();
		
		int max = ar[0];
		int min = ar[0];
		
		for(int i = 0 ; i<ar.length; i++) {
			if(max<=ar[i])max = ar[i];
			if(min>=ar[i])min=ar[i];
		}
		
		System.out.println("최대 : "+ max + ", 최소 : "+min);
	}

오름차순이 기본인 내장된 정렬 메소드
import java.util.Arrays;
Arrays.sort(배열명);

Arrays클래스의 인스턴스 생성없이 바로 사용가능

내림차순은 ??????
정렬의 조건을 추가해줄때 기본형(primitive type)의 배열에는 못 한다.
따라서 래퍼(Wrapper)클래스로 만들어서 적용해준다.
int[]를 Integer[]로!!!

래퍼 클래스..컬렉션 프레임워크..
공부해야함. 일단 사용해보겠음.

래퍼 객체 : 기본 타입의 값을 갖는 객체

내림차순으로 정렬...
import java.util.Arrays;
import java.util.Collections;
Arrays.sort(배열명, Collections.reverseOrder());

(Collections클래스의 reverseOrder메서드를 사용)

import java.util.Arrays;
import java.util.Collections;

public class ex5 {
	public static void main(String[] args) {

		//정렬 함수를 이용해서 점수 출력하기
        
		int[] scores1 = {88,55,70,75,100,95,98};
		
		System.out.print("배열 : ");
		for(int i:scores1)System.out.print(i+"  ");
		
		System.out.print("\n오름차순 : ");
		Arrays.sort(scores1);
		for(int i:scores1)System.out.print(i+"  ");
	
		
		System.out.println("\n----------------");
		
		Integer[] scores2 = {88,55,70,75,100,95,98};
        
		System.out.print("배열 : ");
		for(int i:scores2)System.out.print(i+"  ");
		
		System.out.print("\n내림차순 : ");
		Arrays.sort(scores2,Collections.reverseOrder());
		for(int i:scores2)System.out.print(i+"  ");	
	}
}

중첩 반복문

public static void main(String[] args) {
		
		//점수에 따라 1등부터 순위 매겨서 출력하기
		
		int[] scores = {88,100,12,99,95};
		int[]  ranking = new int[scores.length];
		
		for(int i = 0 ; i < scores.length; i++) {
			
			ranking[i] = 1;
			
			for(int j =0;j<scores.length; j++) {
				if(scores[i]<scores[j])
				{
					ranking[i] +=1;
				}
			}
		}
		
		for(int i =0;i<scores.length;i++) {
			System.out.print(scores[i]+ "점은 "+ranking[i] +"등이다.");
			System.out.println();
		}
	}

0개의 댓글

관련 채용 정보