【问题标题】:loop is running more than once, have no idea why it is [duplicate]循环不止一次运行,不知道为什么会这样[重复]
【发布时间】:2014-11-14 20:16:00
【问题描述】:

这可能是一个非常愚蠢的错误,但我似乎无法弄清楚。当用户将选项设置为 1 添加数据时,它应该弹出为 data> 然后他们插入他们的数据。但是,它发布 data>data> 表明循环运行了两次,但我不明白它如何在不输入输入以使其再次运行的情况下运行两次。代码的最后一部分太打破循环,因为当用户完成输入他们写的完成。

while (true) {
        System.out.print("Select choice: "); 

        choice = s.nextInt();

        if (choice == 1) {
            inner: for (i = 0; i < 100; i++, count2++) {
                System.out.print("data>");
                line[i] = s.nextLine();
                if (line[i].equals("done")) {
                    break inner;
                }
            }
        }

【问题讨论】:

    标签: java loops if-statement for-loop


    【解决方案1】:

    问题是choice = s.nextInt(); 留下一个尾随换行符,nextLine() 然后读取(作为空的String)。添加一个nextLine() 之类的电话,

    choice = s.nextInt(); // <-- reads int value only.
    s.nextLine(); // <-- consume trailing newline.
    

    【讨论】:

    • 是的,非常感谢。
    猜你喜欢
    • 2021-09-22
    • 2016-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多