2014-04-21 3 views
0

사용자가 정수를 입력 할 때까지 실행되는 while()을 설정하고 있습니다. 그러나 지금 가지고있는 방식대로 루프는 정수가 입력 된 후 다시 "Please enter an integer" 메시지를 인쇄 한 다음 프로그램이 정상적으로 실행됩니다. 어떤 사람이 정수를 입력 한 후에 그 메시지를 다시 인쇄하지 못하게하는 방법을 제안 할 수 있습니까? 감사!while() 사용자 입력을위한 루프

  System.out.println("Enter word length"); 
      if(in.hasNextInt()) 
      {  
       n = in.nextInt(); 
      } 
      else 
      { 
       while(in.hasNext()) //this is the loop i'm talking about 
       { 
        System.out.println("Please enter an integer"); 
        if(in.hasNextInt()) 
        {  
         n = in.nextInt(); 
         break; 
        } 
        else 
        { 
         String c = in.next(); 
        } 
       } 
      }  
+0

필자는 'while (in.hasNextLine)'으로 변경 했으므로 맨 처음에는 메시지가 두 번 인쇄됩니다. 불행히도 문제를 해결하지 못합니다. – user3505003

답변

2

사용자가 int (또는 Integer)를 입력하고 사용자가 int (또는 Integer)를 입력 할 때까지 반복적으로 사용자에게 묻기를 원한다고 가정합니다. 그렇다면 다음을 시도해보십시오 :

+0

감사합니다. – user3505003