Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java로 세 개의 숫자 중 최댓값 찾기 – 초보자를 위한 단계별 가이드

이 글에서는 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() 활용법까지 직접 실행해 보면서 동작 원리를 확실히 이해해 보시기 바랍니다.