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 + ")");
}
}
출력 결과