โ ๋ฌธ์
๋๋ค์ผ๋ก ์ ์ 2๊ฐ๋ฅผ ๋ฝ์ ์๋์ ๊ฐ์ด ์ถ๋ ฅ
์ฌ์ฉ์๋ ๋ ์์ ํฉ์ ์ ๋ ฅ
๋ ์์ ํฉ๊ณผ ์ ๋ ฅํ ์๊ฐ ์ผ์นํ๋ฉด "Success", ๋ ์์ ํฉ๊ณผ ์ ๋ ฅํ ์๊ฐ ์ผ์นํ์ง ์์ผ๋ฉด "Fail"์ ์ ๋ ฅ
*๊ธฐํ๋ 5๋ฒ! 5๋ฒ ํ๋ฆฌ๋ฉด GAME OVER
โ ์ฝ๋
import java.util.Random;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Random rd = new Random();
Scanner sc = new Scanner(System.in);
int cnt = 0;
while (true) {
int num1 = rd.nextInt(10) + 1;
int num2 = rd.nextInt(10) + 1;
System.out.print(num1 + " + " + num2 + " = ");
int answer = sc.nextInt();
if (num1 + num2 == answer) {
System.out.println("SUCCESS!");
} else {
System.out.println("Fail...");
cnt++;
}
if (cnt == 5) {
System.out.println("GAME OVER!");
break;
}
}
}
}
โ ์ถ๋ก ๊ณผ์
Fail์ด 5๋ฒ ๋จ๋ฉด ๊ฒ์์ด ์ข ๋ฃ๋๋ค๋ ๊ฒ์ด ์ด ํ๋ก๊ทธ๋จ์ ํต์ฌ์ด๋ค.
๊ทธ๋์ GAME OVER์ ์ด๋์, ์ด๋ค ์กฐ๊ฑด์ผ๋ก ์ง์ด ๋ฃ์ด์ฃผ๋์ง๋ฅผ ์ ์๊ฐํด ๋ด์ผ ํ๋ ๋ฌธ์ ์ด๋ค.
1. Random ํด๋์ค์ nextInt() ๋ฉ์๋ - ๋์ ์์ฑ
๋๋คํ ์ ์๋ฅผ ์์ฑํ๋ ๋ฉ์๋๋ Randomํด๋์ค์ nextInt() ๋ฉ์๋์ด๋ค. nextInt() ๋ฉ์๋๋ ์ฃผ์ด์ง ๋ฒ์ ๋ด์ ์์์ ์ ์๋ฅผ ๋ฐํํ๋ค. ์ด ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋จผ์ ์์ฑ์๋ก Random ํด๋์ค์ ๊ฐ์ฒด๋ฅผ ์์ฑํด ์ค๋ค.
Random random = new Random();
๊ทธ๋ฆฌ๊ณ nextInt() ๋ฉ์๋๋ฅผ ํธ์ถํ์ฌ ์์์ ์ ์๋ฅผ ์ป์ ์ ์๋ค. ์ด๋ nextInt() ๋ฉ์๋์ ์ ์๋ฅผ ์ธ์๋ก ์ ๋ฌํ๋ฉด, ํด๋น ๋ฒ์ ๋ด์ ์ ์๋ฅผ ์ป์ ์ ์๋ค. ์ด๋ ๋ฐํ๋๋ ์ ์๋ ๋ฒ์์ ์์๊ฐ ์ด์ ๋๊ฐ ๋ฏธ๋ง์ ๋ฒ์์์ ๋ฌด์์๋ก ์ ํ๋๋ค.
int randomNumberInRange = random.nextInt(100); // 0 ์ด์ 100 ๋ฏธ๋ง์ ์ ์ ๋ฐํ
์์ ๋ฌธ์ ์์ ๋๋ random.nextInt(10)+1 ์ ํด ์ฃผ์๋ค. random.nextInt(10)์ 0๋ถํฐ 9๊น์ง์ ์์์ ์ ์๋ฅผ ๋ฐํํ๋ค. ์ด๋ ๋ฐํ๋ ๊ฐ์ +1์ ํ๋ฉด ๋ฒ์๊ฐ 1๋ถํฐ 10๊น์ง์ ์ ์๋ก ๋ณํ๋๋ค. ๋ฐ๋ผ์ random.nextInt(10) + 1์ 1๋ถํฐ 10๊น์ง์ ์์์ ์ ์๋ฅผ ๋ฐํํ๋ค.
2. Fail์ด 5๋ฒ ์ถ๋ ฅ๋๋ฉด ๋ก์ง์ ์ข ๋ฃ์ํค๋ ๋ฒ
์ง๊ธ๊น์ง Fail์ด ๋ช ๋ฒ ์ถ๋ ฅ๋์๋์ง ๊ทธ ํ์๋ฅผ ์ ์ฅํ ๋ณ์ cnt๋ฅผ ์ ์ธํ๊ณ 0์ผ๋ก ์ด๊ธฐํ ์์ผ์ค๋ค.
๊ทธ๋ฆฌ๊ณ Fail์ด ๋ฐ ๋ ๋ง๋ค cnt++; ์ ํด ์ฃผ์ด์ cnt๊ฐ์ 1์ฉ ์ฆ๊ฐ์ํจ๋ค.
cnt๊ฐ 5๋ผ๋ ์กฐ๊ฑด์ด ๋ง์กฑ๋๋ฉด GAME OVER์ด๋ผ๋ ๋ฌธ์์ด์ ์ถ๋ ฅํ๊ณ ๋์ ๊ฒ์์ ์ข ๋ฃํด์ผ ํ๋ฏ๋ก break;๋ฅผ ๊ฑธ์ด์ค๋ค.
๊ทธ๋ ๋ค๋ฉด Fail์ด ๋จ๋ ์กฐ๊ฑด์ ๋ฌด์์ธ๊ฐ? ๋ฐ๋ก ์ ๋ต๊ณผ ๋ด๊ฐ ์ ๋ ฅํ ๊ฐ์ด ์ผ์นํ์ง ์์ ๋์ด๋ค.
๋ฐ๋ผ์ num1 + num2 == answer ์ด๋ฉด ๊ทธ๋ฅ SUCCESS๋ง ๋์์ฃผ๋ฉด ๋๊ณ
๊ทธ ๋ฐ๋ ๊ฒฝ์ฐ๋ else ์ดํ ์ฝ๋๋ธ๋ญ์์ ์ฒ๋ฆฌํด์ฃผ๋๋ฐ Fail์ ๋์ฐ๋ฉด์ cnt ๊ฐ์ ์ฌ๋ฆฌ๋ ๊ฒ์ผ๋ก ์ฒ๋ฆฌํ๋ค.