Java控制台逐行读取输入并存储在String数组中

时间:2016-07-22 00:02:00

标签: java string

我有一个关于从java控制台读取字符串的问题。当我输入每行的单词时,直到我停止"停止"所有这些单词都应存储在一个字符串数组中。

我的输入将是:

  

苹果
  芒果
  葡萄
  停止----->停止字符串在这里结束

所有3个水果名称都将存储在temp

但是当我输入一个单词并希望通过单击“输入”转到下一行来键入另一个单词时,它会打印输出。

我该如何修改?

Scanner scanner=new Scanner(System.in);
System.out.println("Enter the words");
String temp=scanner.nextLine();

1 个答案:

答案 0 :(得分:1)

您的问题是您正在从控制台读取一行并打印出来。

你应该做的是继续阅读行,直到"停止",这可以通过while循环来完成。

此代码应该适合您:

Scanner scanner = new Scanner(System.in);
System.out.println("Enter the words");
String input = scanner.nextLine(); // variable to store every input line
String fruits = "";        // this should store all the inputs in one string
while(! input.equals("stop")) {
     fruits += input + ",";  // using comma to separate the inputs  
     input = scanner.nextLine();
}
String[] res = fruits.split(","); // splitting the string to have its content in an array