Reputation: 29
the code below compiles perfectly for 5 integers entered by the user.
what i want to do is alter my code so that i can as the user how many numbers the user wants in the list. then the program will ask the user to enter that many integers and then the program will find the largest of those integers. can anyone help me alter the code below to fit these new standards?
{
int integer1 =
Integer.parseInt(JOptionPane.showInputDialog( "Enter an integer:" ));
int integer2 =
Integer.parseInt(JOptionPane.showInputDialog( "Enter an integer:" ));
int integer3 =
Integer.parseInt(JOptionPane.showInputDialog( "Enter an integer:" ));
int integer4 =
Integer.parseInt(JOptionPane.showInputDialog( "Enter an integer:" ));
int integer5 =
Integer.parseInt(JOptionPane.showInputDialog( "Enter an integer:" ));
if (integer1 > integer2 && integer1 > integer3 && integer1 > integer4 && integer1 > integer5)
JOptionPane.showMessageDialog(null, "The largest number is: " + integer1);
if (integer2 > integer1 && integer2 > integer3 && integer2 > integer4 && integer2 > integer5)
JOptionPane.showMessageDialog(null, "The largest number is: " + integer2);
if (integer3 > integer2 && integer3 > integer1 && integer3 > integer4 && integer3 > integer5)
JOptionPane.showMessageDialog(null, "The largest number is: " + integer3);
if (integer4 > integer1 && integer4 > integer3 && integer4 > integer2 && integer4 > integer5)
JOptionPane.showMessageDialog(null, "The largest number is: " + integer4);
if (integer5 > integer1 && integer5 > integer3 && integer5 > integer4 && integer5 > integer2)
JOptionPane.showMessageDialog(null, "The largest number is: " + integer5);
}
i first want to prompt the user with
how many integers do you want in your list?
then i want to say
enter an integer:
as many times as the user said he wanted.
Upvotes: 2
Views: 71368
Reputation: 11
Don't try Any other Method ... What You think About this easyone...?
import java.util.Scanner;
public class Find_Max_Number{
double input =0;
double number=0;
Scanner in = new
Scanner(System.in);
System.out.print("Please Enter
Number or -1 to Quit: ");
input = in.nextDouble;
while(input!=-1){
input = in.nextDouble();
if(input>number){
number=input;
}
System.out.println("The Largest
Number is: " +number);
}
}
Very much easy...
Upvotes: -1
Reputation: 1
import javax.swing.JOptionPane;
public class Largest_String{
public static void main(String[] args){
int integer1 =
Integer.parseInt(JOptionPane.showInputDialog( "Enter an integer:" ));
int integer2 =
Integer.parseInt(JOptionPane.showInputDialog( "Enter an integer:" ));
int integer3 =
Integer.parseInt(JOptionPane.showInputDialog( "Enter an integer:" ));
int integer4 =
Integer.parseInt(JOptionPane.showInputDialog( "Enter an integer:" ));
int integer5 =
Integer.parseInt(JOptionPane.showInputDialog( "Enter an integer:" ));
int integer6=
Integer.parseInt(JOptionPane.showInputDialog("Enter an Integer"));
int integer7=
Integer.parseInt(JOptionPane.showInputDialog("Enter an Integer"));
int integer8=
Integer.parseInt(JOptionPane.showInputDialog("Enter an Integer"));
int integer9=
Integer.parseInt(JOptionPane.showInputDialog("Enter an Integer"));
int integer10=
Integer.parseInt(JOptionPane.showInputDialog("Enter an Integer"));
if (integer1 > integer2 && integer1 > integer3 && integer1 > integer4 && integer1 > integer5 && integer1>integer6 && integer1>integer7 && integer1>integer8 && integer1>integer9 && integer1>integer10)
JOptionPane.showMessageDialog(null, "The largest number is: " + integer1);
if (integer2 > integer1 && integer2 > integer3 && integer2 > integer4 && integer2 > integer5 && integer2>integer6 && integer2>integer7 && integer2>integer8 && integer2>integer9 && integer2>integer10)
JOptionPane.showMessageDialog(null, "The largest number is: " + integer2);
if (integer3 > integer2 && integer3 > integer1 && integer3 > integer4 && integer3 > integer5 && integer3>integer6 && integer3>integer7 && integer3>integer8 && integer3>integer9 && integer3>integer10)
JOptionPane.showMessageDialog(null, "The largest number is: " + integer3);
if (integer4 > integer1 && integer4 > integer3 && integer4 > integer2 && integer4 > integer5 && integer4>integer6 && integer4>integer7 && integer1>integer8 && integer1>integer9 && integer1>integer10)
JOptionPane.showMessageDialog(null, "The largest number is: " + integer4);
if (integer5 > integer1 && integer5 > integer3 && integer5 > integer4 && integer5 > integer2 && integer5>integer6 && integer5>integer7 && integer5>integer8 && integer5>integer9 && integer5>integer10)
JOptionPane.showMessageDialog(null, "The largest number is: " + integer5);
if(integer6 > integer1 && integer6 > integer3 && integer6 > integer4 && integer6 > integer2 && integer6>integer7 && integer6>integer8 && integer6>integer9 && integer6>integer10 && integer6>integer5)
JOptionPane.showMessageDialog(null,"The largest number is:"+integer6);
if(integer7>integer1 && integer7>integer2 && integer7>integer3 && integer7>integer4 && integer7>integer5 && integer7>integer6 && integer7>integer8 && integer7>integer8 && integer7>integer9 && integer7>integer10)
JOptionPane.showMessageDialog(null,"The largest number is:"+integer7);
if(integer8>integer1 && integer8>integer2 && integer8>integer3 && integer8>integer4 && integer8>integer5 && integer8>integer6 && integer8>integer7&& integer8>integer9 && integer8>integer10)
JOptionPane.showMessageDialog(null,"The largest number is:"+integer8);
if(integer9>integer1 && integer9>integer2 && integer9>integer3 && integer9>integer4 && integer9>integer5 && integer9>integer6 && integer9>integer7&& integer9>integer8 && integer9>integer10)
JOptionPane.showMessageDialog(null,"The largest number is:"+integer9);
if(integer10>integer1 && integer10>integer2 && integer10>integer3 && integer10>integer4 && integer10>integer5 && integer10>integer6 && integer10>integer7&& integer10>integer8 && integer10>integer9)
JOptionPane.showMessageDialog(null,"The largest number is:"+integer10);
}
}
Upvotes: -1
Reputation: 745
I actually have a pre made class that I setup for finding the largest integer of any set of values. You can put this class into your project and simply use it in any class like so:
System.out.println(figures.getLargest(8,6,12,9,120));
This would return the value "120" and place it in the output. Here is the methods source code if you are interested in using it:
public class figures {
public static int getLargest(int...f) {
int[] score = new int[f.length];
int largest=0;
for(int x=0;x<f.length;x++) {
for(int z=0;z<f.length;z++) {
if(f[x]>=f[z]) {
score[x]++;
}else if(f[x]<f[z]) {
}else {
continue;
}
if(z>=f.length) {
z=0;
break;
}
}
}
for(int fg=0;fg<f.length;fg++) {
if(score[fg]==f.length) {
largest = f[fg];
}
}
return largest;
}
}
Upvotes: 0
Reputation: 234795
You know how to obtain an integer from the user, so the first part of the new requirements is easy:
int n = Integer.parseInt(JOptionPane.showInputDialog(
"how many integers do you want in your list?" ));
Then you will need to loop and collect that many integers. You don't need to store them, since you are just looking for the largest one.
int maxSoFar = Integer.MIN_VALUE;
for (int i = 0; i < n; ++i) {
int integer =
Integer.parseInt(JOptionPane.showInputDialog( "enter an integer:" ));
if (integer > maxSoFar) {
maxSoFar = integer;
}
}
Upvotes: 4
Reputation: 29646
The key here is to use Collections.max
.
Returns the maximum element of the given collection, according to the natural ordering of its elements.
The natural ordering for Integer
is from least-to-greatest, i.e. ascending. This makes it perfect to use here.
int largest = Collections.max(Arrays.asList(integer1, integer2, integer3,
integer4, integer5));
Alternatively, you could just build the List
using a loop instead. See below for code that prompts the user to input the number of integers to enter.
int n = Integer.parseInt(
JOptionPane.showInputDialog("How many integers do you want in your list?"));
List<Integer> inputs = new ArrayList<Integer>(n);
for (int i = 0; i < n; ++i) {
inputs.add(Integer.parseInt(
JOptionPane.showInputDialog("Enter an integer:")));
}
int largest = Collections.max(inputs);
JOptionPane.showMessageDialog(null, "The largest number is: " + largest);
Upvotes: 16
Reputation: 2820
You may do:
Ask the user for the number of integers he wants to enter:
int a = Integer.parseInt(JOptionPane.showInputDialog( "Enter the size of the array:" ));
Create the array.
int [] arr = new int[a];
Read the numbers
for (int i=0; i<a; i++){
arr[i] = Integer.parseInt(JOptionPane.showInputDialog( "Enter an integer:" ));
}
Calculate the largest number
int max=0;
for (int i=0; i<a; i++){
if ( max < arr[i] ) {
max = arr[i];
}
}
You will have your value in max
Upvotes: 0
Reputation: 14363
Here goes the complete solution:
First take input from user how many number they want then use list to store those numbers and at last use Collections.max
(as suggested by @oldrinb
) to find the largest number.
You can try following:
List<Integer> listOfNumbers = new ArrayList<Integer>();
int count = Integer.parseInt(JOptionPane.showInputDialog( "how many integers do you want in your list?" ));
for(int i=1;i<=count;i++){
int number = Integer.parseInt(JOptionPane.showInputDialog( "Enter an integer::" ));
listOfNumbers.add(number);
}
JOptionPane.showMessageDialog(null, "The largest number is: " + Collections.max(listOfNumbers));
Upvotes: 0