๐ ์ค๋์ ์ง๊ธ๊น์ง ๋ฐฐ์ด ๋ฐฐ์ด์ ํ์ฉํ์ฌ ์๋ฐ๋ก ๊ตฌ๊ตฌ๋จ์ ๋ง๋ค์ด๋ณด๊ฒ ์ต๋๋ค!
์ฐ์ ๊ณ์ฐ๊ธฐ ๋์ฒ๋ผ, ํจํค์ง์ ํด๋์ค๋ฅผ ๋ง๋ค๊ฒ ์ต๋๋ค.
multiplication ํจํค์ง๋ฅผ ์์ฑํ๊ณ ,
Multiplicaion๊ณผ Main ํด๋์ค๋ฅผ ์์ฑํด์ฃผ์ธ์!
(์ฌ์ค ๋ถ๋ฆฌ๋ฅผ ์ํค์ง ์์๋ ๋ฌธ์ ๋ ์์ง๋ง, ์ฐ์ต์ ์ํด ๊ณ์ ๋ถ๋ฆฌ์์ผ์ ํ๊ฒ ์ต๋๋ค!)
์ฐ์ , ๊ตฌ๊ตฌ๋จ ํด๋์ค ๋จผ์ ์์ฑํ๊ฒ ์ต๋๋ค.
๊ฐ์ฅ ๋จผ์ ๊ตฌ๊ตฌ๋จ์ ๋ํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ํด 2์ฐจ์ ๋ฐฐ์ด์ ํ๋์ ์ ์ธํด ์ฃผ๊ฒ ์ต๋๋ค.
private int[][] multiple;
์์ฑ์์์ (๊ฐ์ฒด ์์ฑ ์ ๋ฌด์กฐ๊ฑด ํธ์ถ๋๋ ๊ณณ)
multiple์ ์ด๊ธฐํํ๊ณ , initialize ํจ์๋ฅผ ํธ์ถํ์ฌ ๊ฐ์ ์ฑ์์ค๋๋ค.
public Multiplication() {
multiple = new int[9][9];
//multiple 2์ฐจ์ ๋ฐฐ์ด ์ด๊ธฐํ
initialize();
//๊ตฌ๊ตฌ๋จ ๊ฐ ๋ฃ๊ธฐ
}
initialize ํจ์๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํด ์ค๋๋ค.
private void initialize() {
for(int i=1; i<=9; i++) {
for(int j=1; j<=9; j++) {
multiple[i-1][j-1] = i*j;
}
}
}
๋ ๊ฐ์ ์ค์ฒฉ๋ for ๋ฃจํ๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ๊ตฌ๋จ์ ๊ฐ์ ๊ณ์ฐํฉ๋๋ค.
์ฒซ ๋ฒ์งธ for ๋ฃจํ๋ i๋ฅผ 1๋ถํฐ 9๊น์ง ๋ฐ๋ณตํฉ๋๋ค
๋ ๋ฒ์งธ for ๋ฃจํ๋ j๋ฅผ 1๋ถํฐ 9๊น์ง ๋ฐ๋ณตํฉ๋๋ค.
i-1๊ณผ j-1์ ์ธ๋ฑ์ค๋ก ์ฌ์ฉํ์ฌ multiple ๋ฐฐ์ด์ ๊ฐ i์ j์ ๊ณฑ์ ์ ์ฅํฉ๋๋ค.
์ด๋ ๋ฐฐ์ด์ ์ธ๋ฑ์ค๊ฐ 0๋ถํฐ ์์ํ๊ธฐ ๋๋ฌธ์ -1์ ํด์ฃผ๋ ๊ฒ์ ๋๋ค.
๋ ๊ฐ์ for๋ฌธ์ด ์ข ๋ฃ๋๋ฉด, multiple์ ๋ฐฐ์ด์ ๊ตฌ๊ตฌ๋จ์ ๋ชจ๋ ๊ฐ์ด ์ฑ์์ง๋๋ค.
๊ทธ ํ, ๊ตฌ๊ตฌ๋จ์ ์ซ์๋ฅผ ๋ฃ์์ ๋ ๊ฒฐ๊ณผ ๊ฐ์ ๋ฐํํ๋ ๋ฉ์๋๋ฅผ ์ ์ํฉ๋๋ค.
public int getResult(int x, int y) {
if(x>=1 && x<=9 && y>=1&&y<=9) {
return multiple[x-1][y-1];
} else {
System.out.println("์
๋ ฅ ๊ฐ์ 1๊ณผ 9 ์ฌ์ด์ฌ์ผ ํฉ๋๋ค.");
return 0;
}
}
์ด ๋ฉ์๋๋ ๋ ์ ์ x์ y๋ฅผ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์, multiple ๋ฐฐ์ด์์ ํด๋น ์์น์ ๊ฐ์ ๋ฐํํฉ๋๋ค.
x์ y๊ฐ 1๊ณผ 9 ์ฌ์ด์ธ์ง ํ์ธํ๋ if ๋ฌธ์ด ์์ต๋๋ค.
์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด ๊ฒฐ๊ณผ์ธ multiple [x-1][y-1]์ ๊ฐ์ ๋ฐํํฉ๋๋ค.
์กฐ๊ฑด์ ๋ง์กฑํ์ง ์์ผ๋ฉด ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ๊ณ 0์ ๋ฐํํฉ๋๋ค.
์ด ํด๋์ค๋ ๊ตฌ๊ตฌ๋จ ๊ฐ์ ์ ์ฅํ๊ณ , ์ฌ์ฉ์๊ฐ ์์ฒญํ ํน์ ๊ตฌ๊ตฌ๋จ ๊ฐ์ ๋ฐํํ๋ ๊ธฐ๋ฅ์ ํฉ๋๋ค.
๊ตฌ๊ตฌ๋จ์ ๊ฐ์ initialize ๋ฉ์๋๋ฅผ ํตํด ๋ฏธ๋ฆฌ ๊ณ์ฐ๋๊ณ , getResult ๋ฉ์๋๋ฅผ ํตํด ํ์ํ ๋ ์กฐํํ ์ ์์ต๋๋ค.
์๋๋ Multipleication ํด๋์ค์ ์ ์ฒด ์ฝ๋์ ๋๋ค.
package multiplication;
public class Multiplication {
private int[][] multiple;
public Multiplication() {
multiple = new int[9][9];
//multiple 2์ฐจ์ ๋ฐฐ์ด ์ด๊ธฐํ
initialize();
//๊ตฌ๊ตฌ๋จ ๊ฐ ๋ฃ๊ธฐ
}
private void initialize() {
for(int i=1; i<=9; i++) {
for(int j=1; j<=9; j++) {
multiple[i-1][j-1] = i*j;
}
}
}
public int getResult(int x, int y) {
if(x>=1 && x<=9 && y>=1&&y<=9) {
return multiple[x-1][y-1];
} else {
System.out.println("์
๋ ฅ ๊ฐ์ 1๊ณผ 9 ์ฌ์ด์ฌ์ผ ํฉ๋๋ค.");
return 0;
}
}
}
Main ํด๋์ค๋ ๋ค์ ๊ฒ์๊ธ์์ ๋ค๋ฃจ๊ฒ ์ต๋๋ค.
๊ถ๊ธํ์ ์ ์ ๋๊ธ์ ๋จ๊ฒจ์ฃผ์ธ์!
๐ฉต๐ฐ๐ฉต
'โJava' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java ์ดํดํ๊ธฐ] 16. Java์ ์์ฑ์ (2) | 2024.05.27 |
---|---|
[Java ์ดํดํ๊ธฐ] 15. Java๋ก ๊ตฌ๊ตฌ๋จ ๋ง๋ค๊ธฐ (2) (1) | 2024.05.24 |
[Java ์ดํดํ๊ธฐ] 13. Java์ ๋ฐฐ์ด (2) (1) | 2024.05.24 |
[Java ์ดํดํ๊ธฐ] 12. Java์ ๋ฐฐ์ด (1) (0) | 2024.05.24 |
[Java ์ดํดํ๊ธฐ] 11. Java๋ก ๊ณ์ฐ๊ธฐ ๋ง๋ค๊ธฐ (2) (1) | 2024.05.18 |