package Ex4;
public class Ex4_14 {
// [4-14] 다음은 숫자맞추기 게임을 작성한 것이다. 1과 100사이의 값을 반복적으로 입력
//
// 해서 컴퓨터가 생각한 값을 맞추면 게임이 끝난다. 사용자가 값을 입력하면, 컴퓨터는 자
//
// 신이 생각한 값과 비교해서 결과를 알려준다. 사용자가 컴퓨터가 생각한 숫자를 맞추면
//
// 게임이 끝나고 몇 번 만에 숫자를 맞췄는지 알려준다. (1)~(2)에 알맞은 코드를 넣어 프
//
// 로그램을 완성하시오.
//
// [연습문제]/ch4/Exercise4_14.java
// class Excercise4_14
// {
// public static void main(String[] args)
// {
// // 1~100사이의 임의의 값을 얻어서 answer에 저장한다.
// int answer = /* (1) */;
// int input = 0; // 사용자입력을 저장할 공간
// int count = 0; // 시도횟수를 세기위한 변수
//
// // 화면으로 부터 사용자입력을 받기 위해서 Scanner클래스 사용
// java.util.Scanner s = new java.util.Scanner(System.in);
//
// do {
// count++;
// System.out.print("1과 100사이의 값을 입력하세요 :");
// input = s.nextInt(); // 입력받은 값을 변수 input에 저장한다.
//
// /*
// (2) 알맞은 코드를 넣어 완성하시오 .
// */
// } while(true); // 무한반복문
// } // end of main
// } // end of class HighLow
//
// [실행결과]
// 1과 100사이의 값을 입력하세요 :50
// 더 큰 수를 입력하세요.
// 1과 100사이의 값을 입력하세요 :75
// 더 큰 수를 입력하세요.
// 1과 100사이의 값을 입력하세요 :87
// 더 작은 수를 입력하세요.
// 1과 100사이의 값을 입력하세요 :80
// 더 작은 수를 입력하세요.
// 1과 100사이의 값을 입력하세요 :77
// 더 작은 수를 입력하세요.
// 1과 100사이의 값을 입력하세요 :76
// 맞췄습니다.
// 시도횟수는 6번입니다.
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
// 1~100사이의 임의의 값을 얻어서 answer에 저장한다.
int answer = (int) (Math.random() * 100) + 1; /* (1) */
;
System.out.println("answer :" + answer); // 이건 주석처리.
int input = 0; // 사용자입력을 저장할 공간
int count = 0; // 시도횟수를 세기위한 변수
// 화면으로 부터 사용자입력을 받기 위해서 Scanner클래스 사용
java.util.Scanner s = new java.util.Scanner(System.in);
do {
count++;
System.out.print("1과 100사이의 값을 입력하세요 :");
input = s.nextInt(); // 입력받은 값을 변수 input에 저장한다.
/*
* (2) 알맞은 코드를 넣어 완성하시오 .
*/
if (answer > input) {
System.out.println("더 큰 수를 입력하세요.");
} else if (answer < input) {
System.out.println("더 작은 수를 입력하세요.");
} else {
System.out.println("맞췄습니다.");
System.out.println("시도횟수는 " + count + "번입니다.");
break; // do-while문을 벗어난다
}
// if (answer == input) {
// System.out.println("맞췄습니다.");
// System.out.println("시도횟수는 " + count + "번입니다.");
// break;
// } else {
// if (answer < input) {
// System.out.println("더 작은 수를 입력하세요.");
// } else if (answer > input) {
// System.out.println("더 큰 수를 입력하세요.");
// }
// }
// if (answer == input) {
// System.out.println("맞췄습니다.");
// System.out.println("시도횟수는 " + count + "번입니다.");
// break;
// } else {
// if (answer < input) {
// System.out.println("더 작은 수를 입력하세요.");
// } else {
// System.out.println("더 큰 수를 입력하세요.");
// }
// }
if (answer == input) {
System.out.println("맞췄습니다.");
System.out.println("시도횟수는 " + count + "번입니다.");
break;
} else if (answer < input) {
System.out.println("더 작은 수를 입력하세요.");
} else if (answer > input) {
System.out.println("더 큰 수를 입력하세요.");
}
} while (true); // 무한반복문
}
}
'프로그래밍 > 자바의정석_4_연습문제' 카테고리의 다른 글
[4-15] 다음은 회문수를 구하는 프로그램이다. 회문수(palindrome)란, 숫자를 거꾸로 읽어도 앞으로 읽는 것과 같은 수를 말한다. (0) | 2014.12.30 |
---|---|
[4-13] 다음은 주어진 문자열(value)이 숫자인지를 판별하는 프로그램이다. (1)에 알맞은 코드를 넣어서 프로그램을 완성하시오. (0) | 2014.12.30 |
[4-12] 구구단의 일부분을 다음과 같이 출력하시오. (0) | 2014.12.22 |
[4-11] 피보나치(Fibonnaci) 수열(數列)은 앞을 두 수를 더해서 다음 수를 만들어 나가는 수열이다. (0) | 2014.12.22 |
[4-10] int타입의 변수 num 이 있을 때, 각 자리의 합을 더한 결과를 출력하는 코드를 완성하라. (0) | 2014.12.22 |