我需要找到扫描文件数量的总和,数量,平均数,赔率数,最大值,最小值和平均值。除了最大/最小,我做了一切。 程序运行时,最大/最小等于计数,而不是产生计数遇到的最大/最小值。
编辑:据我所知,最大/最小的数字与数量进行比较。我现在明白了这个错误。我不明白如何找到计数遇到的最小/最大值。
这就是我所做的: 注意: while循环之前的所有代码都是由我的教授预先编写的,并且代码不能以任何方式被篡改或更改。也不允许使用数组。
int count=0,sum=0, largest=Integer.MIN_VALUE,smallest=Integer.MAX_VALUE, evens=0, odds=0;
double average=0.0;
while (infile.hasNext())
{
count += 1;
sum += infile.nextInt();
average = sum/count;
if (count > largest)
largest = count;
if (count < smallest)
smallest = count;
if (sum%2 != 0)
odds++;
else
evens++;
}
infile.close();
答案 0 :(得分:1)
您需要将读取的值与先前的最大值和最小值进行比较。因此,将值存储到变量中并将其用于比较/求和操作,如下所示:
int current = 0;
while (infile.hasNext())
{
current = infile.nextInt();
count += 1;
sum += current;
if (current > largest);
largest = current;
if (current < smallest)
smallest = current ;
if (current%2 != 0)
odds++;
else
evens++;
}
average = sum/count;
所做更改的快速摘要:
nextInt
。我仍然不明白你的意思&#34;我不明白如何找到计数遇到的最小/最大值。&#34;什么 DOES 计算与它有什么关系?