提问人:Tina 提问时间:9/22/2021 更新时间:9/22/2021 访问量:27
输入 String 和 Double 值时发生 InputMismatchException
InputMismatchException occurred when inputing String and Double values
问:
这是我一直在努力解决的问题:
我希望输入采用以下形式:1
所以我是这样写的代码。不幸的是,它要么在第 6 行给我一个 InputMismatchException,要么在“END_PRICES”处无法中断。
Scanner input =new Scanner(System.in);
ArrayList<String> fruitName = new ArrayList<>();
ArrayList<Double> fruitPrice = new ArrayList<>();
while(true) {
String str=input.next();
Double v=input.nextDouble();
if(str.equals("END_PRICES")) break;
fruitName.add(str);
fruitPrice.add(v);
input.nextLine();
}
有人知道如何解决这个问题吗?提前致谢!
答:
0赞
Harshita
9/22/2021
#1
可以更改 while 循环中的条件,首先检查是否有 nextLine,然后找到该行的内容,如下所示:
while (sc.hasNextLine()){
String s = sc.nextLine();
if (s.trim().equalsIgnoreCase("END_PRICES")){
break;
}
String[] values = s.split(" ");
double price = Double.parseDouble(values[1]);
fruitName.add(values[0]);
fruitPrice.add(price);
}
评论
Double
if