# ๋ฏธ์
- ์ซ์ ์ผ๊ตฌ
## ๐ ์งํ ๋ฐฉ์
- ๋ฏธ์
์ **๊ธฐ๋ฅ ์๊ตฌ ์ฌํญ, ํ๋ก๊ทธ๋๋ฐ ์๊ตฌ ์ฌํญ, ๊ณผ์ ์งํ ์๊ตฌ ์ฌํญ** ์ธ ๊ฐ์ง๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
- ์ธ ๊ฐ์ ์๊ตฌ ์ฌํญ์ ๋ง์กฑํ๊ธฐ ์ํด ๋
ธ๋ ฅํ๋ค. ํนํ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ ์ ๊ธฐ๋ฅ ๋ชฉ๋ก์ ๋ง๋ ๋ค.
- ๊ธฐ๋ฅ ์๊ตฌ ์ฌํญ์ ๊ธฐ์ฌ๋์ง ์์ ๋ด์ฉ์ ์ค์ค๋ก ํ๋จํ์ฌ ๊ตฌํํ๋ค.
## ๐ฎ ๋ฏธ์
์ ์ถ ๋ฐฉ๋ฒ
- ๋ฏธ์
๊ตฌํ์ ์๋ฃํ ํ GitHub์ ํตํด ์ ์ถํด์ผ ํ๋ค.
- GitHub์ ํ์ฉํ ์ ์ถ ๋ฐฉ๋ฒ์ [ํ๋ฆฌ์ฝ์ค ๊ณผ์ ์ ์ถ](https://github.com/woowacourse/woowacourse-docs/tree/master/precourse) ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํด
์ ์ถํ๋ค.
- GitHub์ ๋ฏธ์
์ ์ ์ถํ ํ [์ฐ์ํํ
ํฌ์ฝ์ค ์ง์](https://apply.techcourse.co.kr) ์ฌ์ดํธ์ ์ ์ํ์ฌ ํ๋ฆฌ์ฝ์ค ๊ณผ์ ๋ฅผ ์ ์ถํ๋ค.
- ์์ธํ ๋ฐฉ๋ฒ์ [์ ์ถ ๊ฐ์ด๋](https://github.com/woowacourse/woowacourse-docs/tree/master/precourse#์ ์ถ-๊ฐ์ด๋) ์ฐธ๊ณ
- **Pull Request๋ง ๋ณด๋ด๊ณ ์ง์ ํ๋ซํผ์์ ๊ณผ์ ๋ฅผ ์ ์ถํ์ง ์์ผ๋ฉด ์ต์ข
์ ์ถํ์ง ์์ ๊ฒ์ผ๋ก ์ฒ๋ฆฌ๋๋ ์ฃผ์ํ๋ค.**
## ๐จ ๊ณผ์ ์ ์ถ ์ ์ฒดํฌ ๋ฆฌ์คํธ - 0์ ๋ฐฉ์ง
- ๊ธฐ๋ฅ ๊ตฌํ์ ๋ชจ๋ ์ ์์ ์ผ๋ก ํ๋๋ผ๋ **์๊ตฌ ์ฌํญ์ ๋ช
์๋ ์ถ๋ ฅ๊ฐ ํ์์ ์งํค์ง ์์ ๊ฒฝ์ฐ 0์ ์ผ๋ก ์ฒ๋ฆฌ**ํ๋ค.
- ๊ธฐ๋ฅ ๊ตฌํ์ ์๋ฃํ ๋ค ์๋ ๊ฐ์ด๋์ ๋ฐ๋ผ ํ
์คํธ๋ฅผ ์คํํ์ ๋ ๋ชจ๋ ํ
์คํธ๊ฐ ์ฑ๊ณตํ๋์ง ํ์ธํ๋ค.
- **ํ
์คํธ๊ฐ ์คํจํ ๊ฒฝ์ฐ 0์ ์ผ๋ก ์ฒ๋ฆฌ**๋๋ฏ๋ก, ๋ฐ๋์ ํ์ธ ํ ์ ์ถํ๋ค.
### ํ
์คํธ ์คํ ๊ฐ์ด๋
- ํฐ๋ฏธ๋์์ `java -version`์ ์คํํ์ฌ Java ๋ฒ์ ์ด 17์ธ์ง ํ์ธํ๋ค.
Eclipse ๋๋ IntelliJ IDEA์ ๊ฐ์ IDE์์ Java 17๋ก ์คํ๋๋์ง ํ์ธํ๋ค.
- ํฐ๋ฏธ๋์์ Mac ๋๋ Linux ์ฌ์ฉ์์ ๊ฒฝ์ฐ `./gradlew clean test` ๋ช
๋ น์ ์คํํ๊ณ ,
Windows ์ฌ์ฉ์์ ๊ฒฝ์ฐ `gradlew.bat clean test` ๋๋ `./gradlew.bat clean test` ๋ช
๋ น์ ์คํํ ๋ ๋ชจ๋ ํ
์คํธ๊ฐ ์๋์ ๊ฐ์ด ํต๊ณผํ๋์ง ํ์ธํ๋ค.
```
BUILD SUCCESSFUL in 0s
```
---
## ๐ ๊ธฐ๋ฅ ์๊ตฌ ์ฌํญ
๊ธฐ๋ณธ์ ์ผ๋ก 1๋ถํฐ 9๊น์ง ์๋ก ๋ค๋ฅธ ์๋ก ์ด๋ฃจ์ด์ง 3์๋ฆฌ์ ์๋ฅผ ๋ง์ถ๋ ๊ฒ์์ด๋ค.
- ๊ฐ์ ์๊ฐ ๊ฐ์ ์๋ฆฌ์ ์์ผ๋ฉด ์คํธ๋ผ์ดํฌ, ๋ค๋ฅธ ์๋ฆฌ์ ์์ผ๋ฉด ๋ณผ, ๊ฐ์ ์๊ฐ ์ ํ ์์ผ๋ฉด ๋ซ์ฑ์ด๋ ํํธ๋ฅผ ์ป๊ณ , ๊ทธ ํํธ๋ฅผ ์ด์ฉํด์ ๋จผ์ ์๋๋ฐฉ(์ปดํจํฐ)์ ์๋ฅผ ๋ง์ถ๋ฉด ์น๋ฆฌํ๋ค.
- ์) ์๋๋ฐฉ(์ปดํจํฐ)์ ์๊ฐ 425์ผ ๋
- 123์ ์ ์ํ ๊ฒฝ์ฐ : 1์คํธ๋ผ์ดํฌ
- 456์ ์ ์ํ ๊ฒฝ์ฐ : 1๋ณผ 1์คํธ๋ผ์ดํฌ
- 789๋ฅผ ์ ์ํ ๊ฒฝ์ฐ : ๋ซ์ฑ
- ์ ์ซ์ ์ผ๊ตฌ ๊ฒ์์์ ์๋๋ฐฉ์ ์ญํ ์ ์ปดํจํฐ๊ฐ ํ๋ค. ์ปดํจํฐ๋ 1์์ 9๊น์ง ์๋ก ๋ค๋ฅธ ์์์ ์ 3๊ฐ๋ฅผ ์ ํํ๋ค. ๊ฒ์ ํ๋ ์ด์ด๋ ์ปดํจํฐ๊ฐ ์๊ฐํ๊ณ ์๋ ์๋ก ๋ค๋ฅธ 3๊ฐ์ ์ซ์๋ฅผ ์
๋ ฅํ๊ณ , ์ปดํจํฐ๋ ์
๋ ฅํ ์ซ์์ ๋ํ
๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค.
- ์ด ๊ฐ์ ๊ณผ์ ์ ๋ฐ๋ณตํด ์ปดํจํฐ๊ฐ ์ ํํ 3๊ฐ์ ์ซ์๋ฅผ ๋ชจ๋ ๋งํ๋ฉด ๊ฒ์์ด ์ข
๋ฃ๋๋ค.
- ๊ฒ์์ ์ข
๋ฃํ ํ ๊ฒ์์ ๋ค์ ์์ํ๊ฑฐ๋ ์์ ํ ์ข
๋ฃํ ์ ์๋ค.
- ์ฌ์ฉ์๊ฐ ์๋ชป๋ ๊ฐ์ ์
๋ ฅํ ๊ฒฝ์ฐ `IllegalArgumentException`์ ๋ฐ์์ํจ ํ ์ ํ๋ฆฌ์ผ์ด์
์ ์ข
๋ฃ๋์ด์ผ ํ๋ค.
### ์
์ถ๋ ฅ ์๊ตฌ ์ฌํญ
#### ์
๋ ฅ
- ์๋ก ๋ค๋ฅธ 3์๋ฆฌ์ ์
- ๊ฒ์์ด ๋๋ ๊ฒฝ์ฐ ์ฌ์์/์ข
๋ฃ๋ฅผ ๊ตฌ๋ถํ๋ 1๊ณผ 2 ์ค ํ๋์ ์
#### ์ถ๋ ฅ
- ์
๋ ฅํ ์์ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ, ์คํธ๋ผ์ดํฌ ๊ฐ์๋ก ํ์
```
1๋ณผ 1์คํธ๋ผ์ดํฌ
```
- ํ๋๋ ์๋ ๊ฒฝ์ฐ
```
๋ซ์ฑ
```
- 3๊ฐ์ ์ซ์๋ฅผ ๋ชจ๋ ๋งํ ๊ฒฝ์ฐ
```
3์คํธ๋ผ์ดํฌ
3๊ฐ์ ์ซ์๋ฅผ ๋ชจ๋ ๋งํ์
จ์ต๋๋ค! ๊ฒ์ ์ข
๋ฃ
```
- ๊ฒ์ ์์ ๋ฌธ๊ตฌ ์ถ๋ ฅ
```
์ซ์ ์ผ๊ตฌ ๊ฒ์์ ์์ํฉ๋๋ค.
```
#### ์คํ ๊ฒฐ๊ณผ ์์
```
์ซ์ ์ผ๊ตฌ ๊ฒ์์ ์์ํฉ๋๋ค.
์ซ์๋ฅผ ์
๋ ฅํด์ฃผ์ธ์ : 123
1๋ณผ 1์คํธ๋ผ์ดํฌ
์ซ์๋ฅผ ์
๋ ฅํด์ฃผ์ธ์ : 145
1๋ณผ
์ซ์๋ฅผ ์
๋ ฅํด์ฃผ์ธ์ : 671
2๋ณผ
์ซ์๋ฅผ ์
๋ ฅํด์ฃผ์ธ์ : 216
1์คํธ๋ผ์ดํฌ
์ซ์๋ฅผ ์
๋ ฅํด์ฃผ์ธ์ : 713
3์คํธ๋ผ์ดํฌ
3๊ฐ์ ์ซ์๋ฅผ ๋ชจ๋ ๋งํ์
จ์ต๋๋ค! ๊ฒ์ ์ข
๋ฃ
๊ฒ์์ ์๋ก ์์ํ๋ ค๋ฉด 1, ์ข
๋ฃํ๋ ค๋ฉด 2๋ฅผ ์
๋ ฅํ์ธ์.
1
์ซ์๋ฅผ ์
๋ ฅํด์ฃผ์ธ์ : 123
1๋ณผ
...
```
---
## ๐ฏ ํ๋ก๊ทธ๋๋ฐ ์๊ตฌ ์ฌํญ
- JDK 17 ๋ฒ์ ์์ ์คํ ๊ฐ๋ฅํด์ผ ํ๋ค. **JDK 17์์ ์ ์์ ์ผ๋ก ๋์ํ์ง ์์ ๊ฒฝ์ฐ 0์ ์ฒ๋ฆฌํ๋ค.**
- ํ๋ก๊ทธ๋จ ์คํ์ ์์์ ์ `Application`์ `main()`์ด๋ค.
- `build.gradle` ํ์ผ์ ๋ณ๊ฒฝํ ์ ์๊ณ , ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค.
- [Java ์ฝ๋ ์ปจ๋ฒค์
](https://github.com/woowacourse/woowacourse-docs/tree/master/styleguide/java) ๊ฐ์ด๋๋ฅผ ์ค์ํ๋ฉฐ ํ๋ก๊ทธ๋๋ฐํ๋ค.
- ํ๋ก๊ทธ๋จ ์ข
๋ฃ ์ `System.exit()`๋ฅผ ํธ์ถํ์ง ์๋๋ค.
- ํ๋ก๊ทธ๋จ ๊ตฌํ์ด ์๋ฃ๋๋ฉด `ApplicationTest`์ ๋ชจ๋ ํ
์คํธ๊ฐ ์ฑ๊ณตํด์ผ ํ๋ค. **ํ
์คํธ๊ฐ ์คํจํ ๊ฒฝ์ฐ 0์ ์ฒ๋ฆฌํ๋ค.**
- ํ๋ก๊ทธ๋๋ฐ ์๊ตฌ ์ฌํญ์์ ๋ฌ๋ฆฌ ๋ช
์ํ์ง ์๋ ํ ํ์ผ, ํจํค์ง ์ด๋ฆ์ ์์ ํ๊ฑฐ๋ ์ด๋ํ์ง ์๋๋ค.
### ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- `camp.nextstep.edu.missionutils`์์ ์ ๊ณตํ๋ `Randoms` ๋ฐ `Console` API๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํํด์ผ ํ๋ค.
- Random ๊ฐ ์ถ์ถ์ `camp.nextstep.edu.missionutils.Randoms`์ `pickNumberInRange()`๋ฅผ ํ์ฉํ๋ค.
- ์ฌ์ฉ์๊ฐ ์
๋ ฅํ๋ ๊ฐ์ `camp.nextstep.edu.missionutils.Console`์ `readLine()`์ ํ์ฉํ๋ค.
#### ์ฌ์ฉ ์์
```java
List<Integer> computer = new ArrayList<>();
while (computer.size() < 3) {
int randomNumber = Randoms.pickNumberInRange(1, 9);
if (!computer.contains(randomNumber)) {
computer.add(randomNumber);
}
}
```
---
## โ๏ธ ๊ณผ์ ์งํ ์๊ตฌ ์ฌํญ
- ๋ฏธ์
์ [java-baseball-6](https://github.com/woowacourse-precourse/java-baseball-6) ์ ์ฅ์๋ฅผ Fork & Cloneํด ์์ํ๋ค.
- **๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ `docs/README.md`์ ๊ตฌํํ ๊ธฐ๋ฅ ๋ชฉ๋ก์ ์ ๋ฆฌ**ํด ์ถ๊ฐํ๋ค.
- ๊ณผ์ ์งํ ๋ฐ ์ ์ถ ๋ฐฉ๋ฒ์ [ํ๋ฆฌ์ฝ์ค ๊ณผ์ ์ ์ถ](https://github.com/woowacourse/woowacourse-docs/tree/master/precourse) ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ๋ค.
import java.util.Scanner;
//class game{
// int start(){
//
// }
//// int hint(int guess[], int answer[]){
////
//// }
//}8
public class main {
public static void main(String[] args){
int[] answer = new int[3];
answer[0]= (int)(Math.random()*1000%9);
answer[1]= (int)(Math.random()*1000%9);
answer[2]= (int)(Math.random()*1000%9);
System.out.println(answer[0] + "" + answer[1] +""+ answer[2]);
Scanner sc = new Scanner(System.in);
int[] guess = new int[3];
int s=1; int b;
System.out.println("์ซ์ ์ผ๊ตฌ ๊ฒ์์ ์์ํฉ๋๋ค.");
while(s<3) {
System.out.print("์ซ์๋ฅผ ์
๋ ฅํด์ฃผ์ธ์ : ");
int x = Integer.parseInt(sc.next());
int a = 100;
for (int i = 0; i < 3; i++) {
guess[i] = x / a;
x -= a * guess[i];
a /= 10;
}
System.out.println(guess[0] + "" + guess[1] + "" + guess[2]);
s = 0; b = 0;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (guess[i] == answer[i]) {
s++;
break;
} else if (guess[i] == answer[j]) {
b++;
}
}
}
if (s == 0 && b == 0) System.out.println("๋ซ์ฑ");
else if (s == 3) System.out.println("3์คํธ๋ผ์ดํฌ\n3๊ฐ์ ์ซ์๋ฅผ ๋ชจ๋ ๋งํ์
จ์ต๋๋ค! ๊ฒ์ ์ข
๋ฃ");
else System.out.println(b + "๋ณผ " + s + "์คํธ๋ผ์ดํฌ");
}
}
}
'โก๐ฉโ๐ป โก > ยบ Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] final ์์ ํค์๋ (0) | 2023.11.24 |
---|---|
[Java] ๋ฌธ์์ด ๋ค๋ฃจ๊ธฐ (1) | 2023.11.24 |
[Java] 2๋ช ์ด์ ํ๋ ์ผ๋ฐ์ ๊ฒ์ ๊ตฌํํ๊ธฐ (0) | 2023.11.23 |
[์ฐ์ํ ํ ํฌ์ฝ์ค ํ๋ฆฌ์ฝ์ค] 2์ฃผ์ฐจ ์๋์ฐจ ๊ฒฝ์ฃผ ๊ฒ์ (1) | 2023.11.23 |
[Java] ์ค๋ณต ์๋ ๋ก๋ ๋ฒํธ ์์ฑํ๊ธฐ (0) | 2023.11.21 |