下面的代码可完美编译用户输入的5个整数。
我想做的是更改我的代码,以便我可以作为用户在列表中想要多少个号码。然后程序将要求用户输入那么多整数,然后程序将找到这些整数中的最大整数。谁能帮助我更改下面的代码以适应这些新标准?
{
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:
重复了用户想要的次数。
java参考方案
此处的关键是使用Collections.max
。
根据其元素的自然顺序返回给定集合的最大元素。
Integer
的自然顺序是从最小到最大,即升序。这使得在这里完美使用。
int largest = Collections.max(Arrays.asList(integer1, integer2, integer3,
integer4, integer5));
或者,您可以只使用循环来构建List
。参见以下代码,以提示用户输入要输入的整数数。
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:继承 - java有哪些替代继承的方法? java大神给出的解决方案 有效的Java:偏重于继承而不是继承。 (这实际上也来自“四人帮”)。他提出的理由是,如果扩展类未明确设计为继承,则继承会引起很多不正常的副作用。例如,对super.someMethod()的任何调用都可以引导您通过未知代码的意外路径。取而代之的是,持有对本来应该扩展的类的引用,然后委托给它。这是与Eric…
Java-如何将此字符串转换为日期? - java我从服务器收到此消息,我不明白T和Z的含义,2012-08-24T09:59:59Z将此字符串转换为Date对象的正确SimpleDateFormat模式是什么? java大神给出的解决方案 这是ISO 8601标准。您可以使用SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM…
JAVA:如何检查对象数组中的所有对象是否都是子类的对象? - java我有一个对象数组。现在,我要检查所有这些对象是否都是MyObject的实例。有没有比这更好的选择:boolean check = true; for (Object o : justAList){ if (!(o instanceof MyObject)){ check = false; break; } } java大神给出的解决方案 如果您不喜欢循环,则…
Java-固定大小的列表与指定初始容量的列表之间的差异 - java我在理解这一点上遇到了问题。当我们做 List<Integer> list = Arrays.asList(array); 我们不能在该列表上使用添加,删除之类的方法。我知道Arrays.asList()返回固定大小的列表。我不明白的是,如果我们创建一个具有指定初始容量的列表,例如List<Integer> list2 = new A…
从方法返回数组-Java - javaprivate static Coordinate[] getCircleCoordintaes() { Coordinate coordinates[] = {new Coordinate(0, 0)}; return coordinates; } 以上程序工作正常。在上面的程序中,返回的坐标数组首先初始化了数组使用这条线Coordinate coordi…