문제
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 ) {
1~100사이의 숫자를 입력하세요: 50
3 if ( ( user < 1 ) || ( 100 < 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 ) ) {
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 }
}