Java:在用户设置的整数列表中找到最大的数字 [英] Java: find the largest number in a list of a number of integers that the user has set

查看:106
本文介绍了Java:在用户设置的整数列表中找到最大的数字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

下面的代码可完美编译用户输入的5个整数.
我想做的是更改我的代码,以便我可以作为用户在列表中显示多少个用户.然后程序将要求用户输入那么多整数,然后程序将找到这些整数中的最大整数.谁能帮我修改下面的代码以适应这些新标准?

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);
 }

我首先要用

how many integers do you want in your list?

那我想说

enter an integer: 

用户想要的次数.

推荐答案

此处的关键是使用

The key here is to use Collections.max.

根据其元素的自然顺序返回给定集合的最大元素.

Returns the maximum element of the given collection, according to the natural ordering of its elements.

Integer的自然顺序是从最小到最大,即升序.这使它非常适合在这里使用.

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));

或者,您可以仅使用循环来构建List.请参阅下面的代码,该代码提示用户输入要输入的整数.

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);

这篇关于Java:在用户设置的整数列表中找到最大的数字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆