이 글에서는 Java에서 세 개의 정수 중 가장 큰 값(최댓값)을 찾는 방법을 소개합니다. 비교 연산자(>)와 논리 연산자(&&)를 활용하며, 간단한 if-else 조건문만으로도 손쉽게 구현할 수 있습니다.
먼저 예상되는 입출력 결과부터 확인해 보겠습니다.
입력
사용자 입력이 다음과 같다고 가정합니다.
-50, 30, 50
출력
프로그램 실행 결과는 다음과 같습니다.
The largest number is 50
알고리즘
Step 1 - 시작 Step 2 - 세 개의 정수형 변수 input_1, input_2, input_3 선언 Step 3 - 사용자에게 세 개의 정수 입력을 요청하거나 값을 직접 정의 Step 4 - 입력값을 읽어 들임 Step 5 - if-else 조건문으로 첫 번째 값을 나머지 두 값과 비교하여 가장 큰지 확인합니다. 해당하지 않으면 나머지 두 값에 대해서도 동일한 비교를 반복합니다. Step 6 - 결과를 화면에 출력 Step 7 - 종료
예제 1: 사용자 입력값 비교하기
이 예제에서는 Scanner 클래스를 사용해 사용자가 직접 세 개의 정수를 입력하면, 프로그램이 이를 비교하여 최댓값을 출력합니다.
import java.util.Scanner;
public class Largest {
public static void main(String[] args) {
int my_input_1, my_input_2, my_input_3;
System.out.println("Required packages have been imported");
Scanner my_scanner = new Scanner(System.in);
System.out.println("A scanner object has been defined");
System.out.print("Enter the first number : ");
my_input_1 = my_scanner.nextInt();
System.out.print("Enter the second number : ");
my_input_2 = my_scanner.nextInt();
System.out.print("Enter the third number : ");
my_input_3 = my_scanner.nextInt();
if (my_input_1 >= my_input_2 && my_input_1 >= my_input_3)
System.out.println("The largest number is " + my_input_1);
else if (my_input_2 >= my_input_1 && my_input_2 >= my_input_3)
System.out.println("The largest number is " + my_input_2);
else
System.out.println("The largest number is " + my_input_3);
}
}출력
Required packages have been imported A scanner object has been defined Enter the first number : -50 Enter the second number : 30 Enter the third number : 50 The largest number is 50
예제 2: 미리 정의된 값 비교하기
이번에는 정수 값이 코드 안에서 미리 정의되어 있으며, 프로그램이 이 값을 읽어 콘솔에 바로 출력합니다.
public class Largest {
public static void main(String[] args) {
int my_input_1, my_input_2, my_input_3;
my_input_1 = -50;
my_input_2 = 30;
my_input_3 = 50;
System.out.println("The three numbers are defined as " + my_input_1 + ", " + my_input_2 + " and " + my_input_3);
if (my_input_1 >= my_input_2 && my_input_1 >= my_input_3)
System.out.println("The largest number is " + my_input_1);
else if (my_input_2 >= my_input_1 && my_input_2 >= my_input_3)
System.out.println("The largest number is " + my_input_2);
else
System.out.println("The largest number is " + my_input_3);
}
}출력
The three numbers are defined as -50, 30 and 50 The largest number is 50
응용: Math.max()로 더 간결하게 작성하기
if-else 문 없이 Java 기본 라이브러리의 Math.max() 메서드를 활용하면 한 줄로 최댓값을 구할 수 있습니다.
int largest = Math.max(my_input_1, Math.max(my_input_2, my_input_3));
System.out.println("The largest number is " + largest);세 개의 정수 중 최댓값 찾기는 비교 연산자와 조건문의 기본기를 익히기에 가장 좋은 예제입니다. 위의 두 가지 방식과 Math.max() 활용법까지 직접 실행해 보면서 동작 원리를 확실히 이해해 보시기 바랍니다.