JAVA 프로그래밍

문제

5번의 기회 내에 사용자가 임의의 숫자를 맞출 수 있도록, 그 숫자와 사용자 입력을 비교하여 Up 또는 Down을 출력하는 문제입니다 이를 해결하는 프로그램의 다음 실행상태에 대해 빈칸을 채우세요 

프로그램의 실행순서 및 실행상태

1  public static void main( String[] args ) {  

2   while( chance-- > 0 ) {

1~100사이의 숫자를 입력하세요: 1000

3    if ( ( user < 1 ) || ( 100 < user ) ) {

허용범위를 벗어났습니다

4     chance++;

5     continue;

2   while( chance-- > 0 ) {
                               main()
scan  (Scanner) 
number  75 
chance 5
  user

1~100사이의 숫자를 입력하세요: 50

3    if ( ( user < 1 ) || ( 100 < user ) ) {
                               main()
scan  (Scanner) 
number  75 
chance  4 
  user

6    else if ( number == user ) {

8    else if ( number > user ) {

9     System.out.println( "Up!" );
Up!

12    System.out.println( "기회는 " + chance + "번 남았습니다" );
기회는 4번 남았습니다

2   while( chance-- > 0 ) {

1~100사이의 숫자를 입력하세요: 75

3    if ( ( user < 1 ) || ( 100 < user ) ) {
                               main()
scan  (Scanner) 
number  75 
chance  3 
  user

6    else if ( number == user ) {

Success!!

7     break;

13   System.out.println( "정답은 " + number + "입니다" );
정답은 75입니다

14  }


프로그램 코드

	import java.util.Scanner;
		
	public class UpAndDown
	{
1		public static void main( String[] args ) { 	
			Scanner scan = new Scanner( System.in );
			int number = (int)( Math.random() * 100 ) + 1;
		
			int chance = 5;
2			while( chance-- > 0 ) {
				System.out.print( "1~100사이의 숫자를 입력하세요: " );
				int user = scan.nextInt();
		
3				if ( ( user < 1 ) || ( 100 < user ) ) {
					System.out.println( "허용범위를 벗어났습니다" );
4					chance++;
5					continue;
				}
6				else if ( number == user ) {
					System.out.println( "Success!!" );
7					break;
				}
8				else if ( number > user ) {
9					System.out.println( "Up!" );
				}
10				else if ( number < user ) {
11					System.out.println( "Down!" );
				}
				
12				System.out.println( "기회는 " + chance + "번 남았습니다" );
			}
13			System.out.println( "정답은 " + number + "입니다" );
			scan.close();
14		}
	}