为什么Scanner方法中的nextDouble()发送给我“Exception”

时间:2016-04-28 10:50:52

标签: java java.util.scanner

我想要输入2个数字,一个是提取金额的int,另一个是余额(它们之间有空格)。由于每次提款都要收取0.5的费用,余额必须是双倍。这就是必须印刷的东西。 我在nextDouble得到错误,为什么?我只有1个月的编码,我认为这将是一块蛋糕,我认为BASIC语法在30年前毁了我:(

sales_bestsellers_aggregated_daily_2

2 个答案:

答案 0 :(得分:2)

它依赖于Locale,尝试使用逗号而不是点,反之亦然。

例如: 1,5 而不是 1.5

答案 1 :(得分:0)

如果有一些int或double可以检查,你可以检查。 你必须使用,或。取决于国家,你是。 如果你需要它独立于国家,请将其读作字符串并解析(见下文)

一种解决方法是将该行作为字符串读取,然后将其解析为int和double。

检查双倍是否可用:

input.hasNextDouble();

读为字符串:

String line = input.nextLine();
String[] sl = line.split(" ");
amount = Integer.parseInt(sl[0]);
balance = Double.parseDouble(sl[1]); //solve the problem with . and ,

您还可以检查是否有足够的输入。