java - Do-While 循环在 Java 中无法正常运行

标签 java arrays do-while

因此,这应该继续循环,直到用户点击“ENTER”或数组被填满。但是在输入数组中的第一个元素后,它退出循环。

do 
{
    System.out.print("Enter name (or <ENTER> if done): ");
    names[index] = kb.nextLine();
    if(! (names[index].equals(""))) 
    {

        System.out.print("Enter phone number: ");
        phone[index] = kb.nextLine();

        System.out.print("Enter email address: ");
        email[index] = kb.nextLine();

        index++;
        break;
    }
} while ( ! (names[index - 1].equals("")) && index < SIZE);

已更正

do
{
        System.out.print("Enter name (or <ENTER> if done): ");
        names[index] = kb.nextLine();

        if(! (names[index].equals("")))
            {

            System.out.print("Enter phone number: ");
            phone[index] = kb.nextLine();

            System.out.print("Enter email address: ");
            email[index] = kb.nextLine();

            }   
        index++;

    } while ( ! (names[index - 1].equals("")) && index < SIZE);

最佳答案

这很简单。 break; 退出循环。删除它。

编辑:此外,在循环条件下使用[index - 1]。现在,如果您的输入为空(用户按下 Enter 键),则索引不会增加,并且它将指向前一项。将其更改为 [index] 就可以了。

关于java - Do-While 循环在 Java 中无法正常运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19986619/

相关文章:

java - 没有尾部字段的 LinkedList 陷入无限循环

java - 为 Java Swing 创建合成图像输出的最佳实践

java - 从 spring 3.1.2 到 spring 4 的迁移问题

java - 推荐哪个 : Instant. now().toEpochMilli() or System.currentTimeMillis()

java - 在整数数组中查找循环的长度

java - 如何使这段代码不返回无限循环?

java - 如何在 Mac OS X Snow Leopard 上重新安装 Java 6

c++ - C++代码::Blocks “#include <array>” causing error

python - 将不同长度的 numpy 数组保存到同一个 csv 文件的最佳方法是什么?

java - 试图让程序重复