java验证只检查一次

时间:2015-12-10 10:08:48

标签: java validation

case 1:
                System.out.println("Please create a Book ID: ");
                String newID = sc.next();
                for (int i = 0; i < myBooks.size(); i++) {
                    if (myBooks.get(i).getBookID().contains(newID)) {
                        System.out.println("This BookID already exists. Please enter a different bookID");
                        sc.next();
                    }
                }

//这是我在程序中使用的交换机的一小部分代码。我正在尝试实施验证,似乎遇到了一些问题。我试图允许用户将新书添加到arrayList,我的程序生成验证检查输入是否已存在。代码有效,但只有一次。我知道它可能是我需要的循环,但我仍然在学习如何使用它们。

1 个答案:

答案 0 :(得分:0)

您正在混合责任。 for循环尝试检测已存在的book id,并在验证失败时从用户请求新的id。

你需要两个循环:

  • 从用户请求新ID并在输入有效ID时终止的外部循环
  • 用于检查输入的id的有效性的内部循环