[항해99] 2주차 언어 과제

jinni·2022년 11월 18일
0

항해99

목록 보기
10/52
public class Quiz {
    public static void main(String[] args) {
        

        System.out.println("=== Q1 ===");
        int var1 = 5;
        int var2 = 2;

        // var3 변수에 값을 할당하는 과정에서 잘못 작성되었다.
        // double은 int 값들을 계산 시, double로 형변환이 되어 있지 않는다면, 소수점을 다 버린다.
        double var3 = (double) var1 / var2;
        int var4 = (int) (var3 * var2);
        System.out.println(var3);
        System.out.println(var4);

        System.out.println("=== Q2 ===");
        int x = 10;
        int y = 20;
        
        // 여기서 증감연산자가 피연산자 앞에 있기 때문에 x는 +1 -> x = 11
        // y는 피연산자 뒤에 증감연산자가 있으므로 y = 20 유지
        int z = (++x) + (y--);
        
        // z = 31
        System.out.println(z);
        
        // System.out.println(z); 실행 후, y - 1 진행.
        // 피연산자 뒤에 붙은 증감연산자는 실행문이 실행된 다음에 증감연산자의 영향을 받는다.
        // 아래 y를 출력하면 19가 출력되는 것을 알 수 있음.
        System.out.println(y);

        System.out.println("=== Q3 ===");
        System.out.println("주사위 출력 시작!");
        while (true) {
            
            // Math.random의 난수 범위는 0 < number < 1이기 때문에 int로 형변환 해주면 소수점이 날라감.
            // 주사위 1 ~ 6 이므로 (int) (Math.random() * 6) => 0 < number < 6
            // 근데 마지막에 + 1 해줌 => 1 < number < 7 이 현재 주사위의 범위가 된다.
            int vice1 = (int) (Math.random() * 6) + 1;
            int vice2 = (int) (Math.random() * 6) + 1;

            System.out.println("(" + vice1 + "," + vice2 + ")");

            if ((vice1 + vice2) == 5) {

                System.out.println("주사위 출력 종료!");
                break;
            }
        }
    }
}
profile
조금씩 천천히 꾸준하게

0개의 댓글