int var1=5;
int var2=2;
double var3=var1/var2; // var3 = 2
int var4=(int)(var3*var2); // var4 = 2*2 = 4
System.out.println(var4);
나누기를 실행했을 때 소수점 아래 값까지 리턴 받으려면
두 개의 숫자 중 적어도 하나는 소수형태여야 합니다.
그래서 double var1 = 5.0;
또는 double var2 = 2.0;
라는 형태로 나타내주어야 합니다.
참고 자료 : https://mainia.tistory.com/2020int x=10;
int y=20;
int z = (++x) + (y--);
System.out.println(z);
++x 는 ++를 먼저 진행해서 11이 되고,
그 뒤의 + (y--) 는 --가 + 뒤에 진행되기 때문에 20이 됩니다.
11 + 20 = 30 이기 때문에 z = 31 입니다.
while문과 Math.random() 메소드를 이용해서 2개의 주사위를 던졌을 때 나오는 눈을 (눈1, 눈2) 형태로 출력하고, 눈의 합이 5가 아니면 계속 주사위를 던지고, 눈의 합이 5이면 실행을 멈추는 코드를 작성해보세요. 눈의 합이 5가 되는 조합은 (1,4), (4,1), (2,3), (3,2)입니다.
출력 예시
시작!
(3,6)
(2,6)
(1,4)
끝!
제가 짠 코드입니다.
class VarEx {
public static void main(String[] args) {
System.out.println("시작!");
// 메소드 밖에서 변수 정의해서 전역 변수로 사용
int i = 5;
int a = 0;
int b = 0;
// 주사위의 값이 5가 아닐때 계속 주사위를 굴리도록 랜덤함수 사용
while ( a + b != i ) {
a = (int)(Math.random()* 6) + 1 ; // 1부터 6까지중 랜덤한 정수(int)
b = (int)(Math.random()* 6) + 1 ;
// 주사위 값의 합이 5가 아닐때 출력
if (a + b != i) {
System.out.printf("(%d, %d)", a, b);
System.out.println("");
}
// 주사위 값의 합이 5일떄 마지막으로 출력하고 줄 바꿈 한 뒤 "끝!" 출력
else if (a + b == i){
System.out.printf("(%d, %d)", a, b);
System.out.println("");
System.out.println("끝!");
break;
}
}
}
}