Notice
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- flask
- MSA
- AttributeError
- 객체지향
- 클래스추가
- 배열오름차순정렬
- 멀티프로세스
- 프로그래머스
- 빅오표기법
- 비절차형 언어
- soild
- CORS
- 4-Way Handshake
- 향상된 for문
- oop 4대 특성
- 객체지향 5대 특징
- 클래스삭제
- 함수지향
- 3-Way Handshake
- 마이크로서비스아키택처
- 회원가입기능
- 타입오류
- jquery
- Arrays.sort()
- 토글기능
- 분산형 아키택처
- nat inside
- 로그인기능 #
- 의존성주입
- 의존역적원칙
Archives
- Today
- Total
개발하는 체대생
[코딩테스트] 타입, 증감연산자, Math.random(), 반복문 활용문제 본문
//문제1
//출력 결과로 5를 기대했는데 4가 출력
//어디가 잘못된 것일까??
int var1=5;
int var2=2;
double var3=var1/var2;
System.out.println(var3);
int var4=(int)(var3*var2);
System.out.println(var4);
//정답 : var1과 var2의 타입을 double 로 바꿔주면 5가 나온다.
//이유 :
//int 타입을 바꾸지 않고 double var3=var1/var2; 이 구문을 출력하게 되면
//var3의 값은 2.0 이 나오는데 그 이유가 var1/var2 구문에서 이미 둘 다 int 타입이라 2.5가 아니라 2라는 값이 도출되었고
//2라는 값을 double 타입으로 변환하면 2.0이라는 값이 도출되기 때문에 최종값은 4가 나오게 된다.
//따라서
//var1과 var2의 타입을 처음부터 double 으로 선언하면 var1/var2의 값은 2.5가 출력되게 된다.
//그래서 최종적으로 연산했을 때 5가 나올 수 있게된다.
//문제2
//다음 코드를 실행했을 때 출력 결과는 무엇입니까?
int x=10;
int y=20;
int z = (++x) + (y--);
System.out.println(z);
//결과 : 31
//이유 :
//++가 변수 앞에 붙으면 연산을 수행하기 전에 증가를 시키기 때문에 ++x의 값은 11이 되고
//--가 변수 뒤에 붙으면 연산을 수행하고 나서 감소를 시키기 때문에 --Y의 값은 20이 된다.
//따라서
// (11) + (20) 의 값은 31이 출력된다.
//문제3
//while문과 Math.random() 메소드를 이용해서 2개의 주사위를 던졌을 때 나오는 눈을 (눈1, 눈2) 형태로 출력하고,
// 눈의 합이 5가 아니면 계속 주사위를 던지고,
// 눈의 합이 5이면 실행을 멈추는 코드를 작성해보세요.
// 눈의 합이 5가 되는 조합은 (1,4), (4,1), (2,3), (3,2)입니다.
//case1
while (true){
int num1 = ((int)(Math.random() * 6)+1);
int num2 = ((int)(Math.random() * 6)+1);
//System.out.println(num1+num2);//Math.random() 함수 정상실행 확인
if((num1+num2) == 5){
System.out.println(num1 +"+"+ num2);//num1 값과 num2 값을 각각 확인
break;
}
}
//해설
//먼저 while문이 작동할 수 있도록 true로 작성한다.
//그 안에 1~6까지 랜덤 값을 뽑아주는 num1 과 num2 변수를 선언한다.
//if문을 활용해 num1과 num2의 값이 5일 때 break;를 사용하여 while문을 종료한다.
'코딩테스트 > JAVA' 카테고리의 다른 글
[코딩테스트] 프로그래머스/Java(자바) 문자열을 정수로 바꾸기 (0) | 2022.09.27 |
---|---|
[코딩테스트] 프로그래머스/Java(자바) 두 정수 사이의 합 (0) | 2022.09.27 |
[코딩테스트] 프로그래머스/Java(자바) 가운데 글자 가져오기 (0) | 2022.09.24 |
[코딩테스트] 프로그래머스/Java(자바) 짝수와 홀수 (0) | 2022.09.24 |
[코딩테스트]Java(자바) 직사각형 별 찍기 (2) | 2022.09.23 |
Comments