Java

Java) 문제 풀이

김코식 2022. 11. 18. 10:28

1)

int 는 정수형을 처리하기 위한 변수로 소수점 밑의 숫자들은 저장하지 않기 때문에 var1/var2를 double형으로 바꿔줘야 2.5가 저장되어 출력 결과가 5가 나온다

int var1 =5;
int var2 =2;
double var3 = (double)var1/var2; //double으로 변환
int var4 = (int)(var3*var2);
System.out.println(var4);

출력 결과 


2)

증감연산자는 앞에 쓸 경우 증감을 먼저 실행하고 실행되고 뒤에 쓸 경우 실행을 한뒤 증감연산자가 실행되기 때문에

++x는 증감연산자가 먼저 실행 되어 11 이고 y--는 +가 먼저 실행되어 20 인 상태로 실행이 된 후에 19가 된다

따라서 출력값은 31이 된다

 

출력 결과


3)

Math.random 함수를 사용해서 난수를 뽑아오는데 기본 Math.random은 double형으로 0~1까지의 난수를 반환하기 때문에 출력하고자 하는 범위를 뒤에 넣어주면 된다  >   Math.random * 5 

이렇게되면 0~5까지의 난수가 나오니 +1을 해주면 1~6까지의 난수가 반환된다 > (Math.random * 5) +1 

while문안에 if문을 작성해서 x+y의 합이 5가 되면 break를 통해 종료가 되게 해주면 된다.

while (true){
    int x= (int)(Math.random()*5)+1;
    int y=(int)(Math.random()*5)+1;

    if(x+y == 5){
        System.out.println("(" + x+","+y + ")");
        System.out.println("끝");
        break;
    }
    else{
        System.out.println("(" + x+","+y + ")");
    }
}

출력 결과