当前位置: 首页 > 知识库问答 >
问题:

未指定大小时如何在数组列表中实现infinite for循环

尹何平
2023-03-14

我尝试了以下操作,但没有得到任何输出:

ArrayList<String> list=new ArrayList ();
Scanner s=new Scanner(System.in);

for(int i=0; i<list.size(); i++)
{
    System.out.println("Enter string  "+(i+1));
    String se = s.next();        
    list.add(se);
}

for(int i=0; i<list.size(); i++)
{
    System.out.print(list.get(i));
}

共有1个答案

谭光辉
2023-03-14

您需要循环您的扫描器输入,直到您得到一个空行,而不是在您的列表上。您的列表开头是空的,因此您不会进入循环。

List<String> list = new ArrayList<>();
Scanner s = new Scanner(System.in);

int counter = 1;
String userInput;
System.out.println("Enter string "+ counter);
while (true) { // Infinite loop, you need a break inside of the loop to get out of it
    // Assign the input value to the userInput variable
    userInput = s.nextLine();
    // Stop looping when it is an empty line
    if (userInput.isEmpty()) {
        break;
    }

    list.add(userInput);
    counter++;
    System.out.println("Enter string "+ counter);
}

for (String st : list) {
    System.out.println(st);
}
 类似资料:
  • 问题:我能否使用Java流API(即一行)实现方法。需要变量来定义字符串的长度;我尝试为每个循环,但它不工作。我需要一个循环的范围。 我的尝试:

  • 问题内容: 我来自C ++背景,并且习惯于使用此类的东西。假设我想要这些的动态数组: 这样做的标准方法是什么? 摘要非常有用 问题答案: 使用内置 例: 有关附加的更多信息,请参考规范。

  • 问题内容: 在C ++中,我可以创建如下数组: 在python中,我只知道我可以声明一个列表,而不要附加一些项目或类似。 我可以按给定的大小(如c ++)初始化列表,并且不进行任何赋值吗? 问题答案: (tl;博士:您问题的确切答案是或,但您可能不在乎,可以摆脱使用的困扰。) 您可以将列表初始化为所有相同的元素。使用非数字值在语义上有意义(如果使用它会在以后产生错误,这是一件好事)或类似0的值(不

  • 联机-节点1,节点2离线-节点3,节点4未知-节点5,节点6

  • 我正在解决在给定大小的组中反转链表的问题,我使用的算法如下: 1) 反转大小k的第一个子列表。反转时,我跟踪下一个节点和上一个节点。将指向下一个节点的指针设为next,将指向前一个节点的指针设为prev 2)head=反向(下一个,k)-递归调用列表的其余部分 3) 返回prev,它是反向列表的新标题 我的代码示例是: 但我的输出只是颠倒了列表的前半部分! 例如:如果我的列表是:98 74 94

  • 有时我使用filter,如您所见,有时如果需要,我使用distinct/sort。但是我仍然有很多运行时错误。 我会很乐意提供一些如何处理它的技巧。 @cricket_007 我的代码: 所以基本上,当我试图用嵌套循环解决这个任务时,我得到了O(n^2)的算法复杂度。如何解决?