即使您不知道有多少输入,如何允许用户输入

时间:2016-10-27 14:07:45

标签: java

我现在打算制作一个允许用户输入身份证号码的程序 但我不知道怎么办,因为我不知道用户输入了多少身份证号码 例如:
如果我知道用户想要输入2个人的身份证号码,那么我的代码将是这样的:

//get 2 people's student ID
          System.out.print("Enter the first people's student ID: ");
          String ID1 = input.next();
          System.out.print("Enter the second people's student ID: ");
          String ID2 = input.next();

如果我知道用户想要输入3个人的身份证号码,那么我的代码将是这样的:

//get 3 people's student ID
              System.out.print("Enter the first people's student ID: ");
              String ID1 = input.next();
              System.out.print("Enter the second people's student ID: ");
              String ID2 = input.next();
              System.out.print("Enter the third people's student ID: ");
              String ID3 = input.next();

但是我知道用户将输入多少个号码。如果我不知道他们输入了多少号码,我该怎么做才能允许用户输入并存储他们输入的号码?

2 个答案:

答案 0 :(得分:0)

这不是编程问题,这是一个设计问题。你必须设计你的程序,以便用户能够发出输入结束的信号,或者你应该继续使用相同的循环。

用户可能会使用特殊的EOF字符来表示输入结束。这个角色基本上是CTRL-D。或者,如果用户输入是从文件中提供的,则当文件结束时,EOF会自动发送到您的程序。

或者您可以检查指示输入结束的特殊用户ID(例如-1)。或者您可以先询问ID的数量。或者您的程序可能会在单个ID后退出,用户可能会重新启动它。这一切都取决于你的设计。

在任何一种情况下,你都应该构建一个循环,这样你的程序就可以处理任意数量的输入。

答案 1 :(得分:0)

一个选项:

List<String> ids= new ArrayList<>();
while (true){
    System.out.print("Enter ID: ");
    String val = input.next();
    if ( val.equals("done") )
            break;
    ids.add( val );
}