2014-10-12 3 views
1

사용자로부터 입력을 숫자로 취하고 입력을 확인하여 1에서 10 사이인지 확인하는 Java 응용 프로그램을 작성해야합니다. 입력이 올바른 범위에 있지 않으면 응용 프로그램은 이 올바른 범위의 값이 입력 될 때까지 사용자에게 입력을 계속하기 위해 루프를 사용해야합니다. .올바른 범위의 값이 입력 될 때까지 연속 루프를 실행하는 방법

가 내가 while 루프없이 작동 할 수 있지만 분명히 내가 질문 한 일에, 지속적으로 실행되지 않는 코드를 얻을 수

가 나타납니다

import java.util.Scanner; 

class Number { 

    public static void main(String args[]) { 

     int j = 0; 
     int J = 0; 

    Scanner input = new Scanner(System.in); 

    System.out.println("Enter a number between 1 and 10: "); 
     J = input.nextInt(); 

    while(J > 10){ 

     j = input.nextInt();//read input from user 
     System.out.println(); 

     if (j >=1 && j <=10) { 
      System.out.println("Validated input: " + j); 
      input.close();   
     }//end if statement 

     else { 
      System.out.println("Enter a number between 1 and 10"); 
      j = input.nextInt(); 
     }//end else statement 

    }//end while loop  

    }//end main method 

}//end class 
및 입력 : 여기

내가 지금까지 가지고있는 코드입니다 질문이 다시 나타나기 전에 번호가 두 번 나타나고 유효성 검사 메시지에 오류가 있습니다.

그래서 제 질문은 : "어떻게 내가 while 루프가 제대로 실행하려면 어떻게해야합니까, 나는 아마 그렇게 누군가가 나 좀 도와 줄 수 제대로 작성하지 않은"나는 여기에 일식

답변

1

은 ... 상기 정확한 범위의 값이 입력 될 때까지 사용자에게 입력 요구 계속 루프를 사용한다. 꽤 많이입니다

while(j < 1 || j > 10) 

. 루프와 함께 명령을 인쇄하십시오. 동일한 라인을 두 번 가질 필요가 없습니다. 그리고 그걸 제거 if/else. 루프가 이미 조건을 확인하고 있습니다. 당신이 그것을 떠나는대로, 조건이 충족됩니다.

0

을 사용하고

을 당신이해야 할 일에 대한 설명입니다. 또한 앞으로 매개 변수의 이름을 i, j, x와 반대로 합리적으로 지정하십시오. 예를 들어이 경우 inputNumber 또는 이와 유사한 이름을 지정하려고합니다.

print 'Please insert number' 

int input = scanner.next 

While (input not in range) { 
print 'error please input number in range' 
input = scanner.next 
} 

...process 
exit 
관련 문제