如何读取值直到用户按下JAVA进入?

时间:2016-09-18 19:09:39

标签: java input output java.util.scanner

我需要以下列形式接受输入: 鉴于' n'框的数量和每个框可以包含任意数量的不同整数, 所以第一个用户输入n,然后对于i的每个值从1到n,我需要输入值直到输入被按下。 我不知道该怎么做, 例如 -

5
1 2 3 4 5 6 7 8 9 
1 2
1 
4 5 6
3 4 5 6 7

我试过这个 -

String str;
for(int i=0;i<n;i++)
{
    while(true)
    {
       str=scanner.next();
       if(str.isEmpty())
          break;
       int val=Integer.parseInt(str);
    }
}

还尝试了str.equals(&#34; \ n&#34;)和str.equals(&#34;&#34;), 但没有任何工作。 有人请帮帮我。谢谢。

4 个答案:

答案 0 :(得分:1)

试试这个

String str;
for(int i=0;i<n;i++)
{
    while(true)
   {
   str=scanner.next();
   if(!str.equalsIgnoreCase(""))
      break;
   int val=Integer.parseInt(str);
   }
 }

答案 1 :(得分:0)

尝试这样的事情:

int n = scanner.nextInt(); 
for(int i=0;i<n;i++)
{
    String str = scanner.nextLine();
    String[] array = str.split(" ");
}

您从用户获取一个字符串(一行数字)并按空格分割,因此您在数组中将所有数字都作为字符串。然后你必须将它们解析为int或用它们做任何你想做的事。

答案 2 :(得分:0)

在Scanner类中有  next(){仅输入任何空格字符出现} nextLine(){将输入带到新行字符}

尝试使用nextLine()方法,然后尝试存储在任何数组中 使用n值。然后你可以使用split或string tokenzer函数,然后我们从中提取整数

答案 3 :(得分:0)

这对我有用

while (true) {
    String str = sc.nextLine();
    if (str.equalsIgnoreCase("")) break;                        
}