Java 在“我的”上获取不兼容类型错误;而";线
我在while循环中遇到一个错误,指出: 不兼容的类型,int不能转换为boolean 这是我的代码,我试图用一个文件找到几个数字的平均值 有人能告诉我为什么我会收到这个错误消息吗Java 在“我的”上获取不兼容类型错误;而";线,java,Java,我在while循环中遇到一个错误,指出: 不兼容的类型,int不能转换为boolean 这是我的代码,我试图用一个文件找到几个数字的平均值 有人能告诉我为什么我会收到这个错误消息吗 //Find the average of several numbers using a file. import java .io.*; import java.util.Scanner; public class inputfile { public static void main(String[] ar
//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);
}
}
下面的代码返回一个
int
,但是编译器需要一个布尔值
while(infile.nextInt())
你想要的是:
while(infile.hasNextInt())
还有,我想你的意思是:
sum += num;
不是这个:
sum = sum = num;
下面的代码返回一个int
,但是编译器需要一个布尔值
while(infile.nextInt())
你想要的是:
while(infile.hasNextInt())
还有,我想你的意思是:
sum += num;
不是这个:
sum = sum = num;
而(infle.hasNext())则infle.nextInt()
返回什么?while(…)
中的表达式应该是什么类型?while(infle.hasNext())中的表达式返回什么?while(…)
中的表达式应该是什么类型?