gpt4 book ai didi

java - 扫描仪仅读取第一组输入

转载 作者:行者123 更新时间:2023-12-01 13:55:59 25 4
gpt4 key购买 nike

这是我开发的代码,用于按 block 分隔输入(当到达空格时):

import java.util.Scanner;
public class Single {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
System.out.println("Three Numbers:");
String numbers = in.next();
int length = numbers.length();
System.out.println(length);
int sub = length - length;
System.out.println(sub);
System.out.println(getNumber(numbers, length, sub));
System.out.println(getNumber(numbers, length, sub));
System.out.println(getNumber(numbers, length, sub));
}
public static double getNumber(String numbers, int length, int sub){
boolean gotNumber = false;
String currentString = null;
while (gotNumber == false){
if (numbers.substring(sub, sub + 1) == " "){
sub = sub + 1;
gotNumber = true;
} else {
currentString = currentString + numbers.substring(sub, sub);
sub = sub + 1;
}
}
return Double.parseDouble(currentString);
}
}

但是,它只读取字符串的第一组,而忽略其余部分。我该如何解决这个问题?

最佳答案

问题就出在这里。您应该替换此行

String numbers = in.next();

用这一行

String numbers = in.nextLine();

因为,next() 只能读取输入直到第一个空格,而nextLine() 可以读取输入直到换行 字符。欲了解更多信息,请查看this link .

关于java - 扫描仪仅读取第一组输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19624470/

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