在Java中使用扫描仪读取单词



我希望在Java中的一行上读取多个输入。

ex:

System.out.print("Input name, age, address, city: ");

用户将输入这些详细信息与空间分开

控制台的预期:

输入名称,年龄,地址,城市:汤姆,10,美国,纽约

使用扫描仪类,任何想法如何做到这一点。谢谢。

可以通过执行以下

来完成从命令行读取输入
Scanner s = new Scanner(System.in);
System.out.print("Input name, age, address, city: ");
String input = s.next();

您可以做的是:

Scanner scan = new Scanner(System.in);
String input = scan.nextLine();
String [] splitted = input.split("\s+");

输出将是单词分开的字符串。

如果您想从控制台中获取n个输入 -

让我们假设
Scanner s = new Scanner(System.in);
List<String> listOfString=new ArrayList<String>();
for(int i=1;i<=n; i++){
    System.out.print("Input name, age, address, city: ");
    String data= s.nextLine();
    listOfString.add(data);
    }
for(String data:listOfString){
    String[] splitData= data.split("\s+");
    for(int i=0;i<splitData.size();i++){
        System.out.print(splitData[i]);
     }
}