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();
}
}