๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โ˜•Java

[Java ์ดํ•ดํ•˜๊ธฐ] 14. Java๋กœ ๊ตฌ๊ตฌ๋‹จ ๋งŒ๋“ค๊ธฐ (1)

by Luvbit 2024. 5. 24.


 

 

๐Ÿ’š ์˜ค๋Š˜์€ ์ง€๊ธˆ๊นŒ์ง€ ๋ฐฐ์šด ๋ฐฐ์—ด์„ ํ™œ์šฉํ•˜์—ฌ ์ž๋ฐ”๋กœ ๊ตฌ๊ตฌ๋‹จ์„ ๋งŒ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค!

      ์šฐ์„  ๊ณ„์‚ฐ๊ธฐ ๋•Œ์ฒ˜๋Ÿผ, ํŒจํ‚ค์ง€์™€ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 


 

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 ํด๋ž˜์Šค๋Š” ๋‹ค์Œ ๊ฒŒ์‹œ๊ธ€์—์„œ ๋‹ค๋ฃจ๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ถ๊ธˆํ•˜์‹  ์ ์€ ๋Œ“๊ธ€์„ ๋‚จ๊ฒจ์ฃผ์„ธ์š”!
๐Ÿฉต๐Ÿฐ๐Ÿฉต