프로그래밍/java
[Java] 명품 자바 프로그래밍 3장 Open Challenge 풀이
승민아
2022. 4. 7. 22:53
전체 코드
package extest;
import java.util.Scanner;
public class exstudy {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while(true) {
int res = (int)(Math.random()*100);
System.out.println("0~99 수 설정 완료");
int cnt=1;
String str;
// while 블럭 안에 선언된 변수는 지역변수로 while문 밖에서는 사용 못하더라..
while(true)
{
System.out.print(cnt+">>");
int num = scanner.nextInt();
if(num==res)
{
System.out.print("정답!\n다시하시겠습니까? y/n>>");
str = scanner.next();
break;
}
else if(num>res)
System.out.println("더 작게");
else
System.out.println("더 크게");
cnt++;
}
if(str.equals("n"))
break;
}
}
}
Math.random()
Math.random()은 0~1 사이의 실수를 double 형식으로 반환합니다.
그래서 100을 곱해서 int로 0~99의 수가 나오는겁니다.
while문 안에 선언한 변수는 while문 밖에서 사용이 불가하다는 걸 알았네요..!
이렇게 쓸일이 없어서 몰랐었나..
공부했지만 다 까먹은 거겠죠~
C++에서도 마찬가지...