gpt4 book ai didi

java - 只读取扫描仪中的数字

转载 作者:行者123 更新时间:2023-11-29 10:12:20 25 4
gpt4 key购买 nike

想象有一个 Scanner 传递任何字符串输入,例如“11 22 a b 22”,并且该方法应该计算所有数字的总和(对于上述示例为 55)。我在这里编写了一些代码,但我无法跳过字符串。谁能帮我解决这个问题?

System.out.println("Please enter any words and/or numbers: ");
String kbdInput = kbd.nextLine();
Scanner input = new Scanner(kbdInput);
addNumbers(input);

public static void addNumbers(Scanner input) {
double sum = 0;
while (input.hasNextDouble()) {
double nextNumber = input.nextDouble();
sum += nextNumber;
}
System.out.println("The total sum of the numbers from the file is " + sum);

}

最佳答案

为了能够绕过非数字输入,您需要拥有 while循环查找仍在流中的任何标记,而不仅仅是 double

while (input.hasNext())

然后,在内部,while循环,查看下一个标记是否为 doublehasNextDouble .如果没有,您仍然需要通过调用 next() 来使用 token .

if (input.hasNextDouble())
{
double nextNumber = input.nextDouble();
sum += nextNumber;
}
else
{
input.next();
}

关于java - 只读取扫描仪中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28354410/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com