반응형
안녕하세요. pitang입니다.
알고리즘 문제 2개를 풀어보도록 하겠습니다.
Quiz22
두 수의 더하기 혹은 빼기를 맞추는 문제를 지속적으로 출제하는 프로그램이다.
두 가지의 수를 1 ~ 100 사이의 난수를 발생시켜 지속적으로 문제를 출제한 후, 정답이면 정답 카운트를 +1씩 틀리면 오답 카운트를 +1씩 올려주는 프로그램을 만들어주세요.
또한 이 프로그램은 0을 입력받으면 중단(탈출)합니다.
<console>
-----------------------------
89 + 50 = ?
[문제를 그만 푸시려면 0을 입력하세요.]
> 1
오답입니다.
-----------------------------
15 + 30 = ?
[문제를 그만 푸시려면 0을 입력하세요.]
> 45
정답입니다.
-----------------------------
51 - 56 = ?
[문제를 그만 푸시려면 0을 입력하세요.]
> 0
프로그램을 종료합니다.
정답 횟수 : 1회
오답 횟수 : 1회
⬇️⬇️⬇️ 정답은 더보기를 눌러주세요 ⬇️⬇️⬇️
더보기
public class Quiz22 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int countA = 0; //정답카운트
int countB = 0; //오답카운트
String[] c = {"+", "-"};
while(true) {
int a = (int)(Math.random() * 100) + 1;
int b = (int)(Math.random() * 100) + 1;
int ran = (int)(Math.random() * 2);
System.out.println("------------------------");
System.out.println(a + c[ran] + b + " = ?");
System.out.println("[문제를 그만 푸시려면 0을 입력하세요.]");
System.out.print("> ");
int answer = scan.nextInt();
if(answer == 0 && a + b != 0) {
System.out.println("프로그램을 종료합니다.");
break;
} else if (answer == a+b) {
System.out.println("정답입니다.");
countA++;
} else if (answer != a+b) {
System.out.println("오답입니다.");
countB++;
}
}
System.out.println("정답 횟수 : " + countA + "회");
System.out.println("오답 횟수 : " + countB + "회");
scan.close();
}
}
Quiz23
wihle, swith, if, break를 사용해 프로그램을 만들어주세요.
Scanner를 사용해 금액을 입력받고 음료수를 선택하면 금액에서 차감하세요.
금액이 부족하다면 "금액이 부족합니다."를 출력하세요.
4를 입력받으면 남은 금액을 반환하고 반복문을 종료해주세요.
<console>
금액을 투입해 주세요> 1000
남은금액 : 1000원
[1]뎀이소다 : 400원, [2]밀킥스 : 500원, [3]코가콜라 : 600원, [4]잔돈받기
음료수 선택 > 2
밀킥스를 받았습니다.
남은금액 : 500원
[1]뎀이소다 : 400원, [2]밀킥스 : 500원, [3]코가콜라 : 600원, [4]잔돈받기
음료수 선택 > 1
뎀이소다를 받았습니다.
남은금액 : 500원
[1]뎀이소다 : 400원, [2]밀킥스 : 500원, [3]코가콜라 : 600원, [4]잔돈받기
음료수 선택 > 3
금액이 부족합니다.
남은금액 : 100원
[1]뎀이소다 : 400원, [2]밀킥스 : 500원, [3]코가콜라 : 600원, [4]잔돈받기
음료수 선택 > 4
남은 금액 100원을 반환합니다.
⬇️⬇️⬇️ 정답은 더보기를 눌러주세요 ⬇️⬇️⬇️
더보기
public class Quiz23 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("금액을 투입해 주세요. > ");
int money = scan.nextInt();
ex:while(true) {
System.out.println("남은금액 : " + money + "원");
System.out.println("[1]뎀이소다 : 400원, [2]밀킥스 : 500원, [3]코가콜라 : 600원, [4]잔돈받기");
System.out.print("음료수 선택 > ");
int menu = scan.nextInt();
switch(menu) {
case 1:
if(money >= 400) {
System.out.println("뎀이소다를 받았습니다.");
money -= 400;
} else {
System.out.println("금액이 부족합니다.");
}
case 2:
if(money >= 500) {
System.out.println("밀킥스를 받았습니다.");
money -= 500;
} else {
System.out.println("금액이 부족합니다.");
}
case 3:
if(money >= 600) {
System.out.println("코가콜라를 받았습니다.");
money -= 600;
} else {
System.out.println("금액이 부족합니다.");
}
case 4:
System.out.println("남은 금액 " + money + "원을 반환합니다.");
break ex;
default:
System.out.println("잘못 입력했습니다.");
System.out.println("메뉴를 정확히 입력해주세요.");
break;
}
System.out.println();
}
}
}
감사합니다.
*m1맥북을 사용 중입니다.*
728x90
반응형
'알고리즘 > 기타퀴즈' 카테고리의 다른 글
RandomSeat, RandomLotto (0) | 2021.08.31 |
---|---|
MethodQuiz01, MethodQuiz02 (0) | 2021.08.31 |
Quiz20, Quiz21 (정렬방법) (0) | 2021.08.30 |
Quiz18, Quiz19 (중첩반복문) (0) | 2021.08.26 |
Quiz16, Quiz17 (중첩반복문) (0) | 2021.08.26 |