본문 바로가기

Java

Java 과제

1.다음 코드를 실행하면 출력 결과로 5를 기대했는데 4가 출력되었습니다. 어디에서 잘못 작성된 것일까요?

 

int var1=5; // var1에 정수5를 대입
int var2=2; // var2에 정수2를 대입
double var3=var1/var2; ///실수 var3에 5/2에 값을 대입
int var4=(int)(var3*var2); // 정수 var4에 실수형 var3 X 정수형 var2를 대입하고 정수형으로 캐스팅
System.out.println(var4); // 정수형 var4 에 값은 4

 

 

2.다음 코드를 실행했을 때 출력 결과는 무엇입니까? (증감연산자에 대해 알아보세요!)

 

int x=10; // 정수형 x에 10을 대입
int y=20; // 정수형y에 20을 대입
int z = (++x) + (y--); // 정수형z에 선위 증감연산자 x와 후위 증감연산자 y를 더함
System.out.println(z); // 선위 증감연산자는 값을 먼저 증감하고 후위연산자는 연산이 이루어지고 증감하기 때문에 값은 31

 

 

3.while문과 Math.random() 메소드를 이용해서 2개의 주사위를 던졌을 때 나오는 눈을 (눈1, 눈2) 형태로 출력하고, 눈의 합이 5가 아니면 계속 주사위를 던지고, 눈의 합이 5이면 실행을 멈추는 코드를 작성해보세요. 눈의 합이 5가 되는 조합은 (1,4), (4,1), (2,3), (3,2)입니다.

 

System.out.println("시작!");

while(true) {
int a = (int)(Math.random()*6)+1; // Math.random 함수를 정수형으로 캐스팅하고 랜덤한 숫자를 6까지 대입
int b = (int)(Math.random()*6)+1;

if((a+b)==5) { // 두 숫자의 합이 5일 때 
break; // 코드가 멈춤
}else { // 그게 아니라면
System.out.println("("+a+","+b+")"); //a와b의 숫자를 출력함
}
}
System.out.println("끝!");

 

'Java' 카테고리의 다른 글

[Spring Boot] Querydsl 검색조건 쿼리  (0) 2022.11.30
[Spring Boot] Querydsl VS JPQL  (0) 2022.11.16
JPA 세션 - 강준규 매니저님  (0) 2022.10.30
http에서 https로 바꾸기 aws ssl 인증서  (0) 2022.10.30
@Lob(Large Object)  (0) 2022.10.30