본문 바로가기

알고리즘/Jungol

[Java] 정올기초다지기 함수2-자가진단05

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package 함수2.자가진단05;
 
import java.util.Scanner;
 
public class Main {
 
    public static void method(double min, double max, double num) {
        max = Math.ceil(max);
        min = Math.floor(min);
        
        System.out.print((int)max+" ");             //소숫점을 없애기 위한 형변환
        System.out.print((int)min+" ");
        System.out.print(Math.round(num));
    }
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        double [] arr = new double [3];    //입력받을 3개의 값을 저장할 배열
        
        for(int i=0;i<3;i++) {                    //3번의 입력
            arr[i] = sc.nextDouble();
        }
        for(int i=0;i<3;i++) {                    //입력을 받은 배열을 비교
            for(int j=0;j<3;j++) {
                if(arr[i] > arr[j]) {                //오름차순으로 배열정리
                    double tmp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = tmp;
                }
            }
        }
        method(arr[2],arr[0],arr[1]);        // 오름차순이므로 2번째방에는 가장작은수 0번방은 가장큰수.
        sc.close();
    }
}
 
 

 

1 ) 3개의 입력값 배열에 저장.

 

2 ) 입력받은 3개방의 배열 오름차순으로 재배열,

 

3 ) 오름차순으로 정리된 배열을 생성한 메소드에 알맞게 입력.

 

4 ) 메소드에서는 Math 함수를 사용하여 문제에 맞게 값조정.

 

Math.floor(num) : num를 넘지 않는 가장 큰 정수.

Math.ceil(num) : num보다 가장 작은 정수.

Math.round(num) : num값을 반올림.