package baker;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class FileReader {
public static void main(String[] args) throws FileNotFoundException {
String name;
double height;
double inches;
double idealWeight;
Scanner fileReader;
fileReader = new Scanner(new FileInputStream("Data/patients.txt"));
while (fileReader.hasNext()) {
name = fileReader.next();
System.out.println("Name: ");
height = fileReader.nextInt();
inches = fileReader.nextInt();
fileReader.nextLine();
idealWeight = 110 + (height - 5) * 5 + inches * 5;
System.out.println("Ideal Weight: " + idealWeight);
}
}
}
此代码引发以下错误:InputMismatchException尝试使用Scanner时,我错过了什么?
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:864)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextInt(Scanner.java:2117)
at java.util.Scanner.nextInt(Scanner.java:2076)
at baker.FileReader.main(FileReader.java:22)
C:\Users\SFU\AppData\Local\NetBeans\Cache\8.1\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 0 seconds)
错误点的最后一行到第22行,这是以下行:
height = fileReader.nextInt();
至于我可以告诉大家,输入不匹配错误没有理由。有什么建议么?我已经在下面发布了问题文件(patients.txt)。
Tom Atto
6
3
Eaton Wright
5
5
Cary Oki
5
11
它与FileInputStream没有任何关系。它与*输入数据有关。* – EJP