简体   繁体   English

使用Java中的扫描器读取单词

[英]Read words using scanner in Java

i wish to read multiple inputs on a single line in java. 我希望在Java中的一行上读取多个输入。

Ex: 例如:

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

user will input these details separated with space 用户将输入这些详细信息并以空格分隔

what is expected in console: 在控制台中应该是什么:

Input name, age, address, city: Tom, 10, USA, NY 输入姓名,年龄,地址,城市:Tom,10,USA,NY

Any idea how to do this, using the Scanner class. 知道如何使用Scanner类执行此操作。 Thanks. 谢谢。

Reading input from the command line with the scanner can be done by doing the following 通过执行以下操作可以从命令行使用扫描仪读取输入

Scanner s = new Scanner(System.in);
System.out.print("Input name, age, address, city: ");
String input = s.next();

What you can do is: 您可以做的是:

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

The output will be a string separated into words. 输出将是一个分成单词的字符串。

Let us suppose if you want to take n input from console- 让我们假设,如果您想从控制台获取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]);
     }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM