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
是最高值,它也不能是最低值,因为我在开始时初始化。
- 为什么要保存
highest
值的lowest
值? - 你应该定义一个循环
-
完整代码:
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);