JAVA – 最高和最低数字

请帮我找到最高和最低的号码。

我发誓,在我决定在这里发布代码之前,我确实在网站上阅读了关于这个问题的无数post,因为他们都有已知的输入数量。

我有来自用户的“未知”输入。 它可以是任何给定的正数或负数。 在尝试了将近一天后,我现在完全空白了。 任何帮助都会得到极大的赞赏。

package test; import java.util.Scanner; import java.lang.*; import java.io.*; public class Test { public static void main(String[] args){ int highest=Integer.MIN_VALUE; int lowest=Integer.MAX_VALUE; Scanner in = new Scanner(System.in); System.out.println("Enter any positive or negative number"); int n = in.nextInt(); if(n > highest){ lowest = highest; highest = n; } if (n < lowest){ highest=lowest; lowest=n; } System.out.println(highest); System.out.println(lowest); } } 

这是您的代码破坏的地方。

 highest=lowest; lowest=n; 

现在关于初始化这些变量。

我个人会如何启动这个程序将初始化最低和最高的n. 所以你不必担心任何界限。

 System.out.println("Enter any positive or negative number"); int n = in.nextInt(); int highest = n; int lowest = n; for(int i = 0; i < 9; i++){ System.out.println("Enter any positive or negative number"); n = in.nextInt(); if(n > highest){ highest = n; }else if (n < lowest){ lowest=n; } } System.out.println(highest); System.out.println(lowest); 

这要求用户输入10个不同的数字。 然后打印出最高和最低值。

else if (n < lowest)这也可能是一个else if因为如果n是最高值,它也不能是最低值,因为我在开始时初始化。

  1. 为什么要保存highest值的lowest值?
  2. 你应该定义一个循环
  3. 完整代码:

     Scanner in = new Scanner(System.in); while(in.hasNextInt()) { System.out.println("Enter any positive or negative number"); int n = in.nextInt(); if(n > highest){ highest = n; } if (n < lowest){ highest=lowest; lowest=n; } } System.out.println(highest); System.out.println(lowest);