虽然涉及用户输入的循环不符合预期

时间:2014-08-23 15:00:12

标签: java while-loop java.util.scanner

我正在尝试创建一个程序,它要求用户输入联系人姓名和联系人号码,然后将该联系人存储在我的ArrayList条目中。一旦用户输入第一个联系人,他们就可以选择将另一个联系人添加到阵列列表,或者不再添加任何联系人,退出循环,并简单地显示条目中存储的所有联系人。

我目前无法退出while循环,第一个联系人正确添加到数组列表,然后显示" Add Another?"消息,但是从那里它崩溃,如果我键入Y,控制台只是挂起光标闪烁,而不是要求下一个联系人姓名和号码,如果我键入N,它再次只是挂起,什么都不做,而不是退出循环并显示我想要的ArrayList的内容。

任何帮助解决此问题的人都将不胜感激!我觉得这可能与我的循环有关,但不能为我的生活看到什么!

提前致谢!

while (addMore != false)
    {
        System.out.print("Contact name: ");
        String name = sc.nextLine();
        System.out.print("Contact Number: ");
        String TelNo = sc.nextLine();

        // add the user inputted contact to ArrayList entries.
        entries.add(new TelEntry(name, TelNo));


        System.out.print("Add Another?(Y/N): ");
        if(sc.nextLine() == "N")
        {
            addMore = false;
            break;
        }

        else if(sc.nextLine() !="Y" && sc.nextLine() !="N")
        {
            System.out.println("Please Select Y or N");
        }

        addMore = true;

    }

    // FOR LOOP TO PRINT ALL ENTRIES IN ARRAY
    for(int i=0; i<entries.size(); i++)
    {
        System.out.println(entries.get(i));
    }

0 个答案:

没有答案