본문 바로가기

알고리즘/Jungol

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

 

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
36
37
38
package 함수2.자가진단03;
 
import java.util.Scanner;
 
public class Main {
 
    public static int method1(int num1,int num2) { // 정수를 입력받아 비교하는 메소드
        int max =0;
        int a,b =0; // 입력받은 정수의 절대값을 저장하기위한 변수
        
        a = (num1 < 0) ? num1*(-1) : num1; // 삼항연산자를 통하여 음수가 들어왓을때 양수로 변환
        b = (num2 < 0) ? num2*(-1) : num2; // 음수 * -1 을 해주게되면 양수가 된다.
        
        max = (a < b) ? num2 : num1; // 비교하여 절대값이 더 큰 수를 입력받앗던 그대로 리턴
        return max;
    }
    
    public static double method2(double num1,double num2) { // 위 메소드와 동일한 방법으로 double 타입 이용
        double min =0;
        double a,b =0;
        
        a = (num1 < 0) ? num1*(-1) : num1;
        b = (num2 < 0) ? num2*(-1) : num2;
        
        min = (a > b) ? num2 : num1;
        return min;
    }
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        int out1 = method1(sc.nextInt(),sc.nextInt()); // 생성한 메소드에 정수 2개 입력받기.
        double out2 = method2(sc.nextDouble(),sc.nextDouble()); // 생성한 메소드에 실수 2개 입력받기.
        
        System.out.printf(out1+"\n%.2f",out2);
        sc.close();
    }
}
 
 

 

 

> 음수를 양수로 변환하는 방법을 알고있다면 삼항연산자를 통하여 

   2개의 메소드로 한개는 int 형 한개는 double 형으로 생성하여 문제풀이가 가능하다.

   * 자세한 설명은 주석참조