在我的“while”行上出现不兼容的类型错误

时间:2017-04-20 22:16:56

标签: java

我在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);
   }
}    

1 个答案:

答案 0 :(得分:3)

下面的代码返回int,但编译器期望boolean值。

while(infile.nextInt())

你想要的是这个:

while(infile.hasNextInt())

另外,我认为你的意思是:

sum += num;

不是这个:

sum = sum = num;