为什么我在使用扫描仪 sc.nextDouble() 时得到 InputMismatchException
Why get i InputMismatchException when i use scanner sc.nextDouble()
我想从 txt
文件中读取数据,但是当我调用 nextDouble()
方法时得到 InputMismatchException
。尽管我使用了 useLocale
方法,但它不起作用。
txt文件第一行是:1;forname;1.9
public class SimpleFileReader {
public static void main(String[] args){
readFromFile();
}
public static void readFromFile(){
try {
int x = 0;
File file = new File("read.txt");
Scanner sc = new Scanner(file).useDelimiter(";|\n");
sc.useLocale(Locale.FRENCH);
while (sc.hasNext()){
System.out.println(sc.nextInt()+" "+sc.next()+" "+sc.nextDouble());
x++;
}
System.out.println("lines: "+x);
} catch (Exception e) {
e.printStackTrace();
}
}
}
我想从 txt
文件中读取数据,但是当我调用 nextDouble()
方法时得到 InputMismatchException
。尽管我使用了 useLocale
方法,但它不起作用。
txt文件第一行是:1;forname;1.9
public class SimpleFileReader {
public static void main(String[] args){
readFromFile();
}
public static void readFromFile(){
try {
int x = 0;
File file = new File("read.txt");
Scanner sc = new Scanner(file).useDelimiter(";|\n");
sc.useLocale(Locale.FRENCH);
while (sc.hasNext()){
System.out.println(sc.nextInt()+" "+sc.next()+" "+sc.nextDouble());
x++;
}
System.out.println("lines: "+x);
} catch (Exception e) {
e.printStackTrace();
}
}
}