쌓고 쌓다

[Java] 명품 자바 프로그래밍 3장 Open Challenge 풀이 본문

프로그래밍/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++에서도 마찬가지...

Comments