Java Program to Find the Largest of Three Numbers
This article is created to cover multiple programs in Java that find and print the largest of three numbers, entered by the user at run-time of the program. Here is the list of programs covered by this article:
- Find the largest of three numbers using if...else.
- Find the largest of three numbers using nested if...else.
- Find the largest of three numbers using the conditional operator (?).
Find the largest of three numbers using if...else
The question is: write a Java program to find the largest of three given numbers. The program given below has its answer:
import java.util.Scanner; public class CodesCracker { public static void main(String[] args) { int a, b, c, large; Scanner scan = new Scanner(System.in); System.out.print("Enter the First Number: "); a = scan.nextInt(); System.out.print("Enter the Second Number: "); b = scan.nextInt(); System.out.print("Enter the Third Number: "); c = scan.nextInt(); if(a>b && a>c) large = a; else if(b>a && b>c) large = b; else large = c; System.out.println("\nLargest = " +large); } }
The snapshot given below shows the sample run of the above program, with user input 1, 2, and 3 as the first, second, and third numbers to find and print he largest among these three numbers:
Here is another sample run with user input 1, 3, and 2 as three numbers:
Find the largest of three numbers using Nested if...else
This program was created by implementing the actual logic behind finding the largest number among three given numbers, using nested if...else.
import java.util.Scanner; public class CodesCracker { public static void main(String[] args) { int a, b, c, large; Scanner scan = new Scanner(System.in); System.out.print("Enter Three Numbers: "); a = scan.nextInt(); b = scan.nextInt(); c = scan.nextInt(); if(a>b) { if(b>c) large = a; else { if(c>a) large = c; else large = a; } } else { if(b>c) large = b; else large = c; } System.out.println("\nLargest = " +large); } }
Here is its sample run with user input 20, 10, and 30 as three numbers:
Find the largest of three numbers using a conditional operator
This is the last program of this article, created using a conditional operator or ternary operator, that is, I've used the previous program to wrap the if...else into a conditional operator:
import java.util.Scanner; public class CodesCracker { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.print("Enter Three Numbers: "); int a = scan.nextInt(); int b = scan.nextInt(); int c = scan.nextInt(); int large = (a>b) ? ((b>c)?a:(c>a)?c:a) : (b>c)?b:c; System.out.println("\nLargest = " +large); } }
In the following statement, from the above program:
int large = (a>b) ? ((b>c)?a:(c>a)?c:a) : (b>c)?b:c;
First, the code (condition) a>b gets evaluated. If this code is evaluated to be True, then the following code:
will get evaluated; otherwise, the following code:
will get evaluated. Let's suppose the condition a>b evaluates to be True. Therefore, the following code:
will get evaluated in a way that the condition b>c gets evaluated. If this condition is evaluated to be True, then
gets evaluated, otherwise:
gets evaluated. This process continues until the whole expression leaves a single variable, i.e., a, b, or c. Let's demonstrate the statement using the example given below.
How the Largest of Three Numbers Gets Calculated Using a Conditional Operator
For example, if a=20, b=10, and c=30. Then the statement:
int large = (a>b) ? ((b>c)?a:(c>a)?c:a) : (b>c)?b:c;
gets evaluated as, first, the code a>b or 20>10 evaluates to be True, therefore the code ((b>c)?a:(c>a)?c:a) gets evaluated.
That is, the code (b>c) or (10>30) evaluates to be False, therefore the code (c>a)?c:a gets evaluated.
That is, the code c>a or 30>20 evaluates to be True, therefore the code c gets evaluated. That is, there is no more code to execute as the final variable is c; therefore, the value of c, which is 30, will get initialized to large. That's it.
Same Program in Other Languages
- C Find Largest of three Numbers
- C++ Find Largest of three Numbers
- Python Find Largest of three Numbers
« Previous Program Next Program »
Liked this post? Share it!