【发布时间】:2022-11-14 03:03:52
【问题描述】:
我试图找到扫描仪类的变量输入的最小值。我有尽可能多的用户想要的输入,但我似乎无法找到如何找到多个输入的最小值。任何帮助,将不胜感激。
public static void minimum(int count)
{
double input;
boolean lessThan;
double lesser = 0;
for(count = count; count > 0; count--)
{
System.out.print("Enter a double: ");
input = console.nextDouble();
lessThan = input < input;
if(lessThan = true)
{
lesser = input;
}
else
{
lesser = input;
}
}
System.out.println("The minimum is " + lesser);
}
【问题讨论】:
-
if(lessThan = true)x=y是任务运营商也返回赋值。所以lessThan = true分配对lessThan变量为true,并且还返回true。所以if(lessThan = true){..}本质上与lessThan = true; if (true){...}相同。至相比值使用==运算符,或者为避免此类错误跳过== true并直接写if (lessThan) {...}。或者直接在if条件下使用if (input < input){...}(顺便说一句,你看到input < input的问题了吗?这可能是真的吗?) -
无论如何,您的代码中有很多小问题。比如
for(count = count; count > 0; count--)中count = count的目的是什么?为什么在else中,您正在做与条件为真的情况相同的事情? -
count = count 的目的是将 count 设置为等于自身,以便我获得正确的 int 用户需要程序处理多少双打。我无法弄清楚如何将输入与后来的输入值进行比较并将其存储在变量中。
-
“将计数设置为等于自身”让我们说
count拥有一些像 4 这样的值。我们执行count = count会发生什么变化吗?不,它仍然会保留4。编码是关于应用一些变化,如果没有任何反应,则不需要此类代码。您可以跳过count = count并写for ( ; count>0; count--){ .. }或使用旧的while (count > 0) { .. ; count--}。 -
好的,我会解决这个问题,考虑到 input = console.nextDouble(); 你对比较输入和自身有什么建议吗?有多个值?