hyeonga_code

Java_61_Math 클래스, Math.random(), 업다운 게임 본문

Java

Java_61_Math 클래스, Math.random(), 업다운 게임

hyeonga 2023. 10. 25. 05:59
반응형

 


    - Math
        - 수학 계산에 유용합니다.
 - 'MathEx.java' 클래스 생성
=====

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package adv.baseclass;
 
import java.util.Random;
 
// Math 클래스
public class MathEx {
 
    public static void main(String[] args) {
        
        double a = 123.567;
        
        // 정수로 변환
        System.out.println((int)a);    
            /*    123    : 정수로 변환하면서 나머지를 버립니다.    */
        System.out.println(Math.ceil(a));
            /*    124.0 : 소수점을 포함하여 큰 값    */
        System.out.println(Math.floor(a));
            /*    123.0 : 소수점을 버립니다.    */
        System.out.println(Math.round(a));
            /*    124    : 소수점에서 반올림합니다.    */
 
        // 난수
        Random r = new Random();    // 기본적으로 제공하는 기능이 아닙니다.
        int b = r.nextInt();        // 결과값이 정수형입니다.
        double c = r.nextDouble();    // 결과값이 실수형입니다.
        System.out.println("b : " + b + ", c : " + c);
            /*    b : 1304108554, c : 0.9947745507442654     */
    }
}



        - Math.random()
            - Math 클래스에 정의된 난수를 발생하는 함수입니다.
            - 0.0 과 1. 사이의 double 값을 반환합니다.
                0.0 <= Math.random() < 1.0
 - 임의의 수 출력
=====

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package basic;
//모든 클래스는 패키지 안에 생성합니다.
 
import java.util.*;
 
public class ControlEx3 {
    // 모든 함수_메소드는 클래스 안에 작성합니다.
 
    public static void main(String[] args) {
        // Java의 모든 코드는 함수 안에 작성합니다.
 
        for(int i=0; i<10++i) {
            System.out.println("Random number: " + Math.random());
            // 0.0에서 0.9999.... 사이의 임의의 수 출력
            
            int su = (int)(Math.random()*10)+1;
            System.out.println("Random number: " + su);
            // 1 - 10 사이의 임의의 수 구하기 : 10만큼 곱한 랜덤 수를 int 형으로 형변환 한 뒤 1을 더함
            // 0 - 10 사이의 임의의 수 구하기 : 11 만큼 곱한 랜덤 수를 int 형으로 형변환
        }
    }
}



 - 업다운 게임
=====

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import java.util.*;
 
public class Ex_0318 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int co = 0;
        // 횟수 
        int su = (int)(Math.random() * 100+ 1;
        // 1부터 100까지의 수 중 임의의 수 su
 
        while (true) {
            System.out.println("Input number: ");
            int num = in.nextInt();
            // 수를 입력받음
            if (num > su) {
                // 입력받은 수가 임의의 수보다 클 때
                System.out.println("Down");
                ++co;
                // 횟수 추가
            }
            else if (num < su) {
                // 입력받은 수가 임의의 수보다 작을 때
                System.out.println("Up");
                ++co;
                // 횟수 추가
            }
            else {
                // 입력 받은 수와 임의의 수가 일치 할 때
                System.out.println("Right!!!!");
                break;
            }
        }
        System.out.printf("%d times \n", co);
    }
}



반응형