我被分配了以下简单任务:
1)接受Scanner参数并从中读取以空格分隔的单词。
2)如果单词是有效的实数,例如0.1或-3.14159或87,则将该数字添加到运行总计中。
3)当扫描仪中没有可用的输入时,返回总数。
这是我到目前为止所产生的魔力:
public static double sumReal(Scanner input) {
while(input.hasNext()) {
}
}
我理解" hasNext"返回一个布尔值,但是如何确认它是double而不是字符串?
任何帮助都非常感谢!
答案 0 :(得分:1)
也许hasNextDouble() - 方法可以解决问题。
//some code
while (input.hasNextDouble()) {
//do something
}
答案 1 :(得分:0)
使用
while (isDouble(input.nextLine())) {
// your code
}
&安培;添加方法以检查数字是否为Double
public static boolean isDouble(String str) {
try {
Double.parseDouble(str);
return true;
} catch (NumberFormatException e) {
return false;
}
}