我在while循环中收到错误说明:
“不兼容的类型,int不能转换为布尔”
这是我的代码,我正在尝试使用文件找到几个数字的平均值。
任何人都可以告诉我为什么会收到此错误消息?
//Find the average of several numbers using a file.
import java .io.*;
import java.util.Scanner;
public class inputfile
{
public static void main(String[] args)throws IOException
{
int num, count=0;
double sum=0, avg;
Scanner infile = new Scanner(new FileInputStream("data.dat"));
while(infile.nextInt())
{
num = infile.nextInt();
sum = sum = num;
count++;
}
infile.close();
avg = sum/count;
System.out.println("The sum of the numbers is " + sum);
System.out.println("The average of the numbers is " + avg);
}
}
答案 0 :(得分:3)
下面的代码返回int
,但编译器期望boolean
值。
while(infile.nextInt())
你想要的是这个:
while(infile.hasNextInt())
另外,我认为你的意思是:
sum += num;
不是这个:
sum = sum = num;