2016-10-27 2 views
-1

이제 사용자가 자신의 ID 번호를 입력 할 수있는 프로그램을 만들려고합니다.
하지만 ID 번호 사용자가 얼마나 많은 숫자를 입력할지 모르기 때문에 어떻게해야할지 모르겠다. 예를 들어
:
나는 사용자의 싶어 두 사람의 ID 번호를 넣어 알고, 그래서 내 코드는 다음과 같이 될 것입니다 경우 나 사용자의 싶어 3 사람의 ID 번호를 넣어 알고있는 경우얼마나 많은 사람이 입력할지 모르는 경우에도 사용자의 입력을 허용하는 방법

//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(); 

, 그래서 내 코드 같은 것 이 :

//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

어쩌면 루프를 시도? – bradimus

+0

사용자에게 얼마나 많은 ID가 있는지 묻고, 반복하고 프롬프트 한 다음 사용자의 데이터를 배열에 넣습니다. – Li357

+0

@AndrewLi 아마 ArrayList <> 더 구체적으로 그는 제한을 알지 못한다고 말합니다) – jonk

답변

0

이것은 프로그래밍 문제가 아니며, 디자인 문제입니다. 사용자가 입력의 끝을 알릴 수 있도록 프로그램을 설계해야합니다. 그렇지 않으면 동일한 루프로 영원히 계속 진행해야합니다.

사용자는 입력의 끝을 알리는 특수 문자 EOF을 사용할 수 있습니다. 이 문자는 기본적으로 CTRL-D입니다. 또는 사용자 입력이 파일에서 제공되면 파일이 끝날 때 EOF이 자동으로 프로그램에 전송됩니다.

또는 입력 끝 (예 : -1)을 나타내는 특수 사용자 ID를 확인할 수 있습니다. 또는 먼저 ID 수를 요청할 수 있습니다. 또는 하나의 id 후에 프로그램이 종료 될 수 있으며 사용자가이를 다시 시작할 수 있습니다. 그것은 모두 당신의 디자인에 달려 있습니다.

어느 경우이든 프로그램에서 여러 입력을 처리 할 수 ​​있도록 루프를 만들어야합니다.

+0

감사합니다. 이제 나는 그것에 대해 아주 분명하다. 고마워! –

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); 
} 
+0

이것은 좋은 방법입니다! 그러나 아직 배열을 배웠습니다. 나는 그것을 지금 배울 것입니다! –

+0

그런데 고마워요! –

관련 문제