跳过输入的第一个值

时间:2017-03-23 16:49:15

标签: java

我想编写一个程序来读取用户输入的一组值。然后我想打印最小,最大,总和和平均值。见下文:

        float largest = in.nextFloat();
        float smallest = largest;
        while (inputs != -1) \\-1 is the sentinel 
        { 
            inputs = in.nextFloat();
            if (inputs !=-1)
            {
                sum = sum + inputs;
                counter++;
                if (inputs > largest)
                {
                    largest = inputs;
                }
                if (inputs < smallest)
                {
                    smallest = inputs;
                }

            }

        }

这不起作用。会发生的是,对于总和,第一个输入不会被计算。因此,例如集合1 2 3 4 5 -1将给出14而不是15的总和(记住-1是哨兵)。我怀疑我知道为什么会这样,因为用户输入的第一个值将用于初始化&#34; float maximum&#34;然后第二个值将是第一个进入&#34;输入&#34;。

然而即使我怀疑我知道错误,我也不知道如何解决它。我尝试将前两行代码移动到while循环中,但这会产生很多错误,而这些错误无处可寻。知道怎么做吗?

1 个答案:

答案 0 :(得分:0)

代码的第一行是检索值并移动光标。

你需要在循环之前初始化你的总和:

float largest = in.nextFloat();
float smallest = largest;
float sum = largest;