刚接触Java,基本上是昨天开始的。
好的,事情就是这样。
我正在尝试制作一个“平均器”,如果你想这么调用它的话,它接受随机数量的数字。我不必在程序中定义它,它必须是任意的。我必须使其在控制台上工作。
但我不能使用 Console.ReadLine() 或 Scanner 或任何其他。我必须通过控制台本身输入数据。因此,当我调用它时,我会在控制台中输入:
java AveragerConsole 1 4 82.4
调用该程序并给出三个参数:1、4 和 82.4
我认为我遇到的问题是,我似乎无法告诉它:
如果数组中的下一个字段为空,则计算平均值(检查代码中的第 14 行)
我的代码如下:
public class AveragerConsole
{
public static void main(String args[])
{
boolean stop = false;
int n = 0;
double x;
double total = 0;
while (stop == false)
{
if (args[n] == "") //Line 14
{
double average = total / (n-1);
System.out.println("Average is equal to: "+average);
stop = true;
}
else
{
x = Double.parseDouble(args[n]);
total = total + x;
n = n + 1;
}
}
}
}
出现以下错误:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
at AveragerConsole.main(AveragerConsole.java:14)
最佳答案
for(String number : args) {
// do something with one argument, your else branch mostly
}
另外,你不需要 n,你已经有了参数的数量,它是 args 长度。 这是最简单的方法。
关于java - 尝试制作平均查找器,不使用 ReadLine(),仅使用控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19003895/