문제
1. ControlLab3 이라는 클래스를 생성한다.
2. 다음 기능을 반복하여 처리하는 자바 프로그램을 구현한다.
1부터 120까지의 값을 추출하여
추출된 숫자가 50 미만이면
"X : 50 미만"을 출력하고
3, 13, 23, 33, 43 인 경우에만
"X : *듀크팀*" 을 출력한다.
추출된 숫자가 50 이상이고 80이하면
"X : 50 이상 80 이하"를 출력하고
70~79 인 경우에만
"X : *턱시팀*" 을 출력한다.
추출된 숫자가 81 이상이고 100이하면
아무것도 출력하지 않고 다시 난수 추출부터 진행한다.
101~120 이면
아무것도 출력하지 않고 수행을 종료한다.
단!! 메시지 출력은 Syste m.out.printf() 로 하며 이 API 를 한번만 호출하여 해결해 본다.
다음은 수행 예시이다.
10 : 50 미만
65 : 50 이상 80 이하
23 : 50 미만
23 : *듀크팀*
75 : 50 이상 80 이하
75 : *턱시팀*
33 : 50 미만
:
처음에 푼 코드
package day3;
public class ControlLab4 {
public static void main(String[] args) {
int random;
String text = "";
while (true) {
random = (int) (Math.random() * 120) + 1;
if (random < 50) {
text += random + ": 50 미만\n";
} else if (random == 3 || random == 13 || random == 23 || random == 33 || random == 43) {
text += random + ": *듀크팀*\n";
} else if (random >= 50 && random <= 80) {
text += random + ": 50 이상 80 이하\n";
} else if (random >= 70 && random <= 79) {
text += random + ": *턱시팀*\n";
} else if (random >= 81 && random <= 100) {
continue;
} else {
break;
}
}
System.out.printf("%s", text);
}
}
여기에서 수정해야 할 부분들이 있었다.
'3, 13, 23, 33, 43 인 경우 "X : *듀크팀*" 을 출력한다.'
이걸 다 적는게 아니라 패턴을 찾아서 할 수 있었다
(선생님께서 말씀하셨는데 내가 제대로 안들어서..^^ 근데 설명 안들어도 할 수 있는 거였는데!!!!)
그리고 조건도 제대로 안 읽었다.
23 : 50 미만
23 : *듀크팀*
75 : 50 이상 80 이하
75 : *턱시팀*
이렇게 포함으로 갔어야 됐는데 나는 다 else if로 해버려서 하나씩밖에 안들어갔다 ㅠㅠ
수정한 코드
package day3;
public class ControlLab3 {
public static void main(String[] args) {
int random;
String text = "";
while (true) {
random = (int) (Math.random() * 120) + 1;
if (random < 50) {
text += random + ": 50 미만\n";
if (random % 10 == 3) {
text += random + ": *듀크팀*\n";
}
} else if (random >= 50 && random <= 80) {
text += random + ": 50 이상 80 이하\n";
if (random >= 70 && random <= 79) {
text += random + ": *턱시팀*\n";
}
} else if (random >= 81 && random <= 100) {
continue;
} else {
break;
}
}
System.out.printf("%s", text);
}
}
이렇게 두 조건을 다 만족시켜야 했다,,
앞으로는 줄일 수 있는 부분들은 최대한 줄여보고 문제도 제대로 읽고 풀어야겠다!^^
'Java' 카테고리의 다른 글
자바 Optional 클래스 (1) | 2023.11.28 |
---|---|
[프로그래머스/JAVA]기사단원의 무기 (1) | 2023.09.11 |
java 로또 번호 6개 (중복 없이) (0) | 2023.08.22 |
댓글