본문 바로가기
Java

자바 3개의 숫자를 삼항 연산자로 비교하는 예제 / 최대 값, 중간 값, 최소 값 출력하는 예제

by 자유코딩 2017. 9. 22.

이번 글에서는 3개의 숫자를 삼항 연산자로 비교하는 예제에 대해서 알아보겠습니다.

 

3개의 숫자를 삼항 연산자로 비교하는 예제

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.util.Scanner;
 
public class FindMaxValue {
    public static void main(String[] args) {
        //사용자로부터 3개의 숫자를 입력받아서 가장 큰 숫자를 출력하는 프로그램 작성
        int num1,num2,num3;//숫자 3개 입력받을 변수 선언
        int result2;//숫자 두개의 비교 값을 저장할 변수 선언
        
        Scanner input = new Scanner(System.in);
        System.out.print("숫자 입력 : ");
        num1 = input.nextInt();//숫자 1 입력
        System.out.print("숫자 입력 : ");
        num2 = input.nextInt();//숫자 2 입력
        System.out.print("숫자 입력 : ");
        num3 = input.nextInt();//숫자 3 입력
        
        result2 = (num1 > num2)? num1: num2;//숫자 두개를 비교해서 더 큰 값을 저장한다.        
        int result3 = num3 > result2? num3: result2;//숫자 두 개를 비교한 결과 값과 나머지 숫자를 비교한다.
        
        System.out.println(result3);//결과를 출력한다.
        
    }
}
cs

 

 

큰 값 , 중간 값 , 작은 값 출력하는 예제

 

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
 
import java.util.Scanner;
 
public class FindMaxValue {
    public static void main(String[] args) {
        //사용자로부터 3개의 숫자를 입력받아서 가장 큰 숫자를 출력하는 프로그램 작성
        int num1,num2,num3;//숫자 3개 입력받을 변수 선언
        int big,middle,small;//숫자 두개의 비교 값을 저장할 변수 선언
        
        Scanner input = new Scanner(System.in);
        System.out.print("숫자 입력 : ");
        num1 = input.nextInt();//숫자 1 입력
        System.out.print("숫자 입력 : ");
        num2 = input.nextInt();//숫자 2 입력
        System.out.print("숫자 입력 : ");
        num3 = input.nextInt();//숫자 3 입력
        
        big = (num1>num2)&&(num1>num3)?num1:(num3>num2?num3:num2);
        //num1이 num2보다 큰지 비교,num1이 num3보다 큰지 비교 둘 다 참이면 num1이 가장크다. 
        small = (num2>num1)&&(num3>num1)?num1:(num2>num3?num3:num2);
        //num2이 num1보다 큰지 비교,num3이 num1보다 큰지 비교해서 num1이 제일 작으면 저장 아니면 뒤의 수식 수행
        middle = (num1>num2)?((num1>num3)?((num2>num3)?num2:num3):num1):((num2>num3)?((num1>num3)?num1:num3):num2);
        //                                    ((num1>num3)?((num2>num3)?num2:num3):num1)앞 항
        //                                                               뒷 항((num2>num3)?((num1>num3)?num1:num3):num2)
        //num1>num2 -> num1>num3 -> num1이 num2보단 큰데 num3보단 작다 -> num1은 중간 수
        System.out.println(big);//결과를 출력한다.2
        System.out.println(middle);
        System.out.println(small);        
    }
}
cs

 

 

다른풀이

 

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
public class FindMaxValue {
    public static void main(String[] args) {
        //사용자로부터 3개의 숫자를 입력받아서 가장 큰 숫자를 출력하는 프로그램 작성
        int num1,num2,num3;//숫자 3개 입력받을 변수 선언
        int big,middle,small;//숫자 두개의 비교 값을 저장할 변수 선언
        
        Scanner input = new Scanner(System.in);
        System.out.print("숫자 입력 : ");
        num1 = input.nextInt();//숫자 1 입력
        System.out.print("숫자 입력 : ");
        num2 = input.nextInt();//숫자 2 입력
        System.out.print("숫자 입력 : ");
        num3 = input.nextInt();//숫자 3 입력
        
        big = (num1>num2)&&(num1>num3)?num1:(num3>num2?num3:num2);
        //num1이 num2보다 큰지 비교,num1이 num3보다 큰지 비교 둘 다 참이면 num1이 가장크다. 
        small = (num2>num1)&&(num3>num1)?num1:(num2>num3?num3:num2);
        //num2이 num1보다 큰지 비교,num3이 num1보다 큰지 비교해서 num1이 제일 작으면 저장 아니면 뒤의 수식 수행
        middle = (num1+num2+num3)-big-small;//세 수를 더해서 가장 큰 수와 가장 작은 수를 빼면 중간 값이 나온다.
        
        System.out.println(big);//결과를 출력한다.2
        System.out.println(middle);
        System.out.println(small);        
    }
}
cs

 

 

설명이 부족하시진 않으셨나요? forsqna@gmail.com 으로 질문하시면 빠른 답변을 받으실 수 있습니다.

댓글