(Q) 구구단 구현
숫자 입력시 해당 숫자의 x9까지 출력
5 X 1 = ? (?에 사용자가 정답 입력하게 한다)
5 X 2 = ?
5 X 3 = ?
5 X 4 = ?
5 X 5 = ?
5 X 6 = ?
5 X 7 = ?
5 X 8 = ?
5 X 9 = ?
끝날 때 정답 ?개 / 오답 ?개
맞은 갯수당 + 10점, 틀린 갯수당 -1점을 적용하며
★ 문제를 연달아 맞출 경우 콤보가 적용되어 가산점 10점에 combo를 곱한 점수를 얻을 수 있도록 구현
package day06;
import java.util.Scanner;
public class Day06_loop_Test14 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//단수 입력
int input = sc.nextInt();
int countO = 0; //맞은 갯수
int countX = 0; //틀린 갯수
int combo = 0;
int totalScore = 0;
for(int i = 1 ; i <= 9 ; i ++) {
System.out.print(input + " X " + i + " = ");
int answer = sc.nextInt(); //정답 입력
if(answer == input * i) {
countO ++; //정답이라면 countO +1
combo ++; //combo 카운트 증가
totalScore += 10 * combo; //combo를 적용한 점수
}
else {
countX ++; //오답이라면 countX +1
combo = 0; //오답이라면 combo 카운트를 0으로 초기화시킨다
totalScore -= 10;
}
}
System.out.println("맞은 갯수 : " + countO);
System.out.println("틀린 갯수 : " + countX);
System.out.println("총점 : ");
}
}
** for 반복문을 구성하는 순서가 중요하다
i) 정답일 경우
- 맞은 갯수(countO)가 1만큼 증가한다
- 콤보 카운터(combo)가 1만큼 증가한다
- 총 점수(totalScore)가 콤보 카운터가 적용된 점수(10 * combo)만큼 증가한다
ii) 오답일 경우
- 틀린 갯수(countX)가 1만큼 증가한다
- 콤보 카운터가 0으로 초기화(combo = 0;)된다 (combo 변수에 0을 대입한다)
- 총 점수(totalScore)가 10점 감소한다
'국비교육 > 국비교육 복습' 카테고리의 다른 글
Day06_loop3_Test03 : 숫자 모래성 게임 (while 반복문 활용 - 무한 반복문) (★) (0) | 2022.08.07 |
---|---|
Day06_loop2_Test01 : 초 단위로 1시간 출력 (중첩 반복문) (★) (0) | 2022.08.07 |
Day05_loop_Test14 : 구구단 문제 (for 반복문의 활용 + 입력) (★) (0) | 2022.08.06 |
Day05_loop_Test13 : 30일동안 저금 총액 (for 반복문의 활용 - sum) (0) | 2022.08.06 |
Day05_loop_Test12 : 푸시업 갯수 세기 (for 반복문의 활용 - sum) (0) | 2022.08.06 |