1๏ธโฃ ๊ฐ์
๐ ์์คํ ํ๊ฒฝ (๊ฐ๋ฐ ํ๊ฒฝ: Java ๋ฒ์ , IDE, OS ๋ฑ)
Java: 17
JDK: 17.0.1
IDE: IntelliJ
๐ GitHub ๋งํฌ & Read ME
https://github.com/222eunji/calculator
2๏ธโฃ ๊ณผ์ ์ค๋ช
๐ ์๊ตฌ์ฌํญ
๋ชฉํ: ์ฝ์๋ก ์ ๋ ฅ๋ฐ์ ์ ์๋ค๋ก ๊ฐ๋จํ ์ฌ์น์ฐ์ฐ ์ฒ๋ฆฌํ๊ธฐ
โ Lv1. ํด๋์ค๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ณ์ฐ๊ธฐ
1. ์ ์ฐจ์ ํ๋ก๊ทธ๋๋ฐ ํ๊ธฐ
2. Scanner๋ฅผ ์ฌ์ฉํ์ฌ ์ ์์ ์ฌ์น์ฐ์ฐ ๊ธฐํธ ์ ๋ ฅ ๋ฐ๊ธฐ (์์ธ์ฒ๋ฆฌ๋ฅผ ํ์ฉํ์ฌ ์๋ชป๋ ์ ๋ ฅ ๋ฐฉ์ง)
3. exit๋ฅผ ์ ๋ ฅํ๋ฉด ํ๋ก๊ทธ๋จ ์ข ๋ฃ
โ Lv2. ํด๋์ค ํ์ฉํ๊ธฐ
1. calculator ํด๋์ค๋ก ์ฌ์น์ฐ์ฐ์ ๋ณ๋์ ํด๋์ค์ ์งํ
2. ์ฐ์ฐ ๊ฒฐ๊ณผ ArrayList์ ์ ์ฅ
3. removeResult()๋ฉ์๋๋ฅผ ํตํด ์ฐ์ฐ ๊ฒฐ๊ณผ ๊ฐ ์ญ์ ๊ฐ๋ฅ
๐ ์ฝ๋ ์์ฑ ํ๋ฆ
// Lv1 ๊ตฌํ ์์
1. ์ ์์ ์ฐ์ฐ ๊ธฐํธ๋ฅผ ์์๋๋ก ๊ฐ๊ฐ ํ๋์ฉ ์ ๋ ฅ๋ฐ๋๋ค.
ใ: scanner ๊ฐ์ฒด๋ฅผ ํ์ฉํญ ๊ธฐํธ๋ฅผ ์ ๋ ฅ๋ฐ๊ณ , ์ ํฉํ ํ์ ์ผ๋ก ์ ์ธํ ๋ณ์์ ์ ์ฅ
2. ๊ฐ๋จํ ์ฌ์น์ฐ์ฐ์ ์ํํ๋ค.
ใ: if, switch๋ก ์ ๋ ฅ๋ฐ์ ์ฐ์ฐ๊ธฐํธ๋ฅผ ๊ตฌ๋ถ
๋ถ๋ชจ๊ฐ 0์ด ์ ๋ ฅ๋ ๊ฒฝ์ฐ, ํด๋น ์ค๋ฅ์ ๋ํ ๋ด์ฉ ์ถ๋ ฅ
3. ๋ฐ๋ณต๋ฌธ์ ํ์ฉํ์ฌ "exit"๋ฅผ ์ ๋ ฅํ๊ธฐ ์ ๊น์ง ๋ฌดํ์ผ๋ก ๊ณ์ฐ์ ์งํํ ์ ์๋๋ก ํ๋ค.
ใ: while(true)
4. ์ ๋ ฅ๋ฐ์ ์ ์์ ์ฐ์ฐ ๊ธฐํธ๋ฅผ ๊ฒ์ฆํ๋ ๊ณผ์ ์งํ
ใ: try-catch
// Lv2 ๊ตฌํ ์์
4. Calculator ํด๋์ค๋ฅผ ๋นผ์ ์ฌ์น์ฐ์ฐ ๋ณ๋๋ก ์ฒ๋ฆฌ
5. Getter ๋ฉ์๋ ๊ตฌํ
6. ๊ฒฐ๊ณผ๊ฐ ์ ์ฅ
ใ: ArrayList ํ์ฉ
7. ๊ฒฐ๊ณผ๊ฐ ์ ์ฅํ List์ ์ง์ ์ ๊ทผํ์ง ๋ชปํ๋๋ก ์บก์ํ
8. ์ฐ์ฐ ๊ฒฐ๊ณผ ๊ธฐ๋ก ์ญ์ (์ญ์ ํ ๋ฐ์ดํฐ ์ฒซ๋ฒ์งธ ์ฐ์ฐ ๊ฒฐ๊ณผ, ๊ฐ์ฅ ์ต๊ทผ ์ฐ์ฐ ๊ฒฐ๊ณผ, ์ ์ฒด ์ฐ์ฐ ๊ฒฐ๊ณผ ์ค์ ํ)
3๏ธโฃ ๋ฌธ์ ํด๊ฒฐ ๊ณผ์
๐ ํธ๋ฌ๋ธ ์ํ (๋ณ๋ ์์ฑ, ๐ฅํด๋ฆญ ์ ๊ฒ์๊ธ ์ฐ๊ฒฐ)
๐ฅ ๋ฌธ์ 1. ๋ณ์ ์ด๊ธฐํ๊ฐ ๋์ง ์์์๋
๐ฅ ๋ฌธ์ 2. nextLine() ์
๋ ฅ์ด ๊ฑด๋๋ฐ๋ ๋ฌธ์
๐ฅ ๋ฌธ์ 3. ์๋ชป๋ ์
๋ ฅ์ ํ์ง๋ง ๋ค์ ์
๋ ฅ๋ฐ์ง ๋ชปํ ๋
๐ฅ ๋ฌธ์ 4. try-catch์์ try ๋ด๋ถ์ if-else๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์๋ฐ else ์ฒ๋ฆฌ๋ฅผ ๋ชจ๋ฅด๊ฒ ์ ๋
๐ฅ ๋ฌธ์ 5. catch์์ return ๊ฐ์ด ์์ด์ ์ปดํ์ผ ์ค๋ฅ ๋ฐ์
๐ฅ ๋ฌธ์ 6. ์ฌ์น์ฐ์ฐ ํด๋์ค๋ก ๋ถ๋ฆฌํ์ง๋ง ์ฝ๋ ๊ธธ์ด๊ฐ ์ค์ด๋ค์ง ์๋ ๋ฌธ์
๐ ํํฐ๋ ํผ๋๋ฐฑ
โ Level 1 ๋ง๋ฌด๋ฆฌ ํ ํผ๋๋ฐฑ
[๊ณ์ฐ๊ธฐ ๋ง๋ค๊ธฐ-2] Level 1 ํผ๋๋ฐฑ
๐ ํํฐ๋ ํผ๋๋ฐฑ ๋ฐ ํ์ต ์ ๋ฆฌ ๐โป ์์์ ํ๋ฆ ์ฃผ์ โป 1. null์ด๋ ์ ์๋ ๊ฐ์ ์ผ์ชฝ์ ์ ๊ธฐ! (์์ธ ๋ฐฉ์ง)System.out.print("\n๋ ๊ณ์ฐํ์๊ฒ ์ต๋๊น? (exit ์ ๋ ฅ ์ ์ข ๋ฃ)\n์ ๋ ฅ: ");String answer = sc.nextL
aggeeeee.tistory.com
โ Level 2 ์ค๊ฐ ํผ๋๋ฐฑ
- ์ฝ๋ ๊ฐ๋
์ฑ์ ๊ฐ์ ํ์
- ๋ฆฌํดํ ๋ ์ํฐ ์ณ์ ์๊ณ ๋ฆฌ์ฆ๊ณผ ๊ฒฐ๊ณผ ๊ตฌ๋ถํ๊ธฐ
- ์ธ๋ดํ ์ด์ (Indentation)์ด ์๋ชป๋ ๋ถ๋ถ์ด ๋ง๋ค๊ณ ํ์ จ๋ค. ๋ง์ถ๊ธฐ ์ข ์ด๋ ค์ - ํด๋์ค ๋ง๋ค๋ ๋ถํ์ํ ์์ฑ์ ์์ฑํ ํ์ ์์
: ๋๋ ๋ด๊ฐ ์ ์จ๋จ๋์ง ๋ชจ๋ฅด๊ฒ ๋๋ฐ... num1, num2, op๊ฐ์ ์์ฑ์ผ๋ก ์์ฑํด๋จ๋ค. ๋ด๊ฐ ํด๋์ค์ ๋ํ ์ดํด๊ฐ ๋ถ์กฑํด์ ๋ฐ์ํ ๋ฌธ์ ๋ผ๊ณ ์๊ฐํ๋ค. ๊ทธ๋๋ ์ง์ ํด์ฃผ์ จ์๋ ๋ฐ๋ก ํ์์๋ค๋ ๊ฑธ ๊นจ๋ฌ์๋ค!(์ดํดํ๋ค) - ๋ฒํผ ์ ๊ฑฐ๋ sc.nextInt() ๋ฐ๋ก ์๋์ ์์ฑ!
: ๋ฒํผ๋ ๋ชจ๋ next ๋ฉ์๋์ ๋ฐ์ํ๋ ๊ฒ์ด ์๋๋ผ nextInt()์์ ๋ฐ์ํ๋ค.
์ฝ๋๋ฅผ ์์ฑํ๋ค๋ณด๋ while์ด๋ try-catch๋ฑ์ ์ฌ์ฉํ๋ฉฐ ๊ดํธ๊ฐ ๋ง์์ก๊ณ , sc.nextLine()์ด ์๋ฑํ ๊ณณ์ผ๋ก ๋ด๋ ค๊ฐ ์์๋ค. ๋ฒํผ์ ๊ฑฐ๋ ๋ฐ๋ก ์๋์ ์์ฑํ๊ธฐ!
4๏ธโฃ ํ๊ณ (์ด๋ฒ ํ๋ก์ ํธ๋ฅผ ํตํด ์ป์ ๊ฒฝํ & ๋๋ ์ ์ ๋ฆฌ)
๐ ๋ฐฐ์ด ์
๐ช ํธ๋ฌ๋ธ ์ํ ์ ์ค์์ฑ
- ํธ๋ฌ๋ธ ์ํ ์ ์ฝ๋ ์์ฑ ์ค ๋ฐ๋ก๋ฐ๋ก ์ฐ๊ธฐ
- ๊ณ ๋ฏผํ๋ ์๊ฐ์ ๋์น๋ฉด ๋์ค์ ์ ๋ฆฌํ๋ ค๊ณ ํด๋ ๊ธฐ์ต์ด ๋์ง ์๋๋ค. ์ค์๊ฐ์ผ๋ก ๊ธฐ๋กํ๋ฉด ๋ฌธ์ ํด๊ฒฐ ๊ณผ์ ์ด ๋์ฑ ๋ช ํํ๊ฒ ๊ธฐ๋กํ ์ ์๋ค. (์ง๊ธ ๋ด๊ฐ ์์ฑํ ์์ค๋ ํธ๋ฌ๋ธ ์ํ ์ผ๋ก ๋ณผ ์ ์์๊ฐ ์๋ฌธ์ด ๋ค๊ธด ํ์ง๋ง, ๊ทธ๋๋ ๋ด๊ฐ ์ฝ๋๋ฅผ ์์ฑํ๋ฉด์ ๊ณ ๋ฏผํ๋ ๋ถ๋ถ์ ๋ง๊ธฐ์ ์ผ๋จ ์ ๋ฆฌํ๋ค.)
๐ช ๊ฐ๋ ์ฑ์ด ์ข์ ์ฝ๋ ์์ฑํ๋ ๋ฐฉ๋ฒ
- ๋ณ์๋ช ๊ณผ ์ฝ๋๋ ์ง๊ด์ ์ผ๋ก ์์ฑํ๊ธฐ
- ์ฃผ์์ ํ์ฉํ์ฌ ๋ด๊ฐ ์ด๋ค ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ค๊ณ ํ๋์ง ์ค๋ช ํ๊ธฐ
๐ช ์์ธ์ฒ๋ฆฌ(try-catch)์ ๋ํ ์ดํด๋ ํฅ์
- try-catch๋ฅผ ํ์ฉํ์ฌ ์์ธ ๋ฐ์ ์ ์ ์ ํ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ตํ
- ํธ๋ฌ๋ธ ์ํ ์๋ ์ ๋ฐ ๊ฐ๊น์ด ์์ธ์ฒ๋ฆฌ์ ๊ณผํ ๋ฌธ์ ๋ฅผ ์์ฑํ๋ค..
๐ช Git ์ฌ์ฉ๋ฒ ์ ์
- Git ๊ธฐ์ด ์ฌ์ฉ๋ฒ์๋ ์ต์ํด์ก๋ค.
- ์ด๋ฐ์ git push๊ฐ ์๋ผ์ ์ด๋ ค์์ ๊ฒช์์ง๋ง, ์์ธ์ GitHub ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ์ ๋ง๋ ๊ฒ์ด์๋ค.
- git push์ ์ git status์ git remote -v๋ฅผ ํ์ฉํ์ฌ ์ ๊ฒํ์.
๐ ์์ฌ์ด ์
ํด๋์ค๋ฅผ ์ข ๋ ํ์ฉํด์ Input, Ouput์ ๋นผ๊ณ ์ถ์๋๋ฐ, ์๊ฐ ์ด์๋ก ํฌ๊ธฐ...
Main ํด๋์ค๊ฐ ๊นจ๋ํ์ผ๋ฉด ํ๋๋ฐ ๋ง์ด ๋ถ์กฑํ ๊ฑฐ ๊ฐ๋ค.
ํ์ ๊ธฐ๋ฅ ๋ค ํ๋ฉด ์ถ๊ฐ๊ธฐ๋ฅ ํด๋ ๋๋ค๊ณ ํ์ จ๋๋ค.. ์์ง๊น์ง๋ ํ์ ๊ธฐ๋ฅ ๊ตฌํํ๊ธฐ์๋ ๋ฒ ์ฐผ๋ค ใ _ใ ..
ํ์ง๋ง ๋ ์ด์ Java์์ํ์ง 2์ฃผ์ฐจ๋๊น...!!!! ์์ผ๋ก ๋ ์ ํ ์ ์์ ๊ฒ์ด๋ค. ํ์ดํ ...!!!
1.ํด๋์ค ๋ค์ด์ด๊ทธ๋จ: ํ์ํ ํด๋์ค ์ค๊ณ (ex: Calculator, Operation ๋ฑ)
2.๊ธฐ๋ฅ ๋ถํด: ์ฃผ์ ๊ธฐ๋ฅ์ ๋ฉ์๋๋ก ๋ถ๋ฆฌ (ex: add(), subtract(), multiply() ๋ฑ)
3.๋ฐ์ดํฐ ํ๋ฆ ์ค๊ณ: ๋ฐ์ดํฐ๊ฐ ํด๋์ค ๊ฐ์ ์ด๋ป๊ฒ ํ๋ฅผ์ง ๊ฒฐ์ ํ์ฌ ์ ๋ ฅ, ์ฒ๋ฆฌ, ์ถ๋ ฅ์ ํ๋ฆ์ ์ดํดํ๋ค.
์ ์ธ๊ฐ์ง ๋ด์ฉ์ ๊ณ ๋ คํ์ง ๋ชปํ๊ณ ์ฝ๋๋ฅผ ์์ฑํ ๊ฑฐ ๊ฐ๋ค. ๋ค์ ๊ณผ์ ๋๋ ๋จผ์ ์์ฑํด๋ด์ผ์ง..ใ ใ
ํํธ์ผ๋ก๋ ์ด๋ ๊ฒ ํ๋ํ๋ ๋ค ๊ธฐ๋กํ๋๊ฒ ๋ง๋๊ฑธ๊น? ๋ด์ฉ ์ ๋ฆฌ๋ฅผ ํ๋๋ฐ ์๊ฐ์ ๋๋ฌด ๋ง์ด ์ฐ๋ ๊ฑฐ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ ๋ค.