본문 바로가기
개발자의 공부방/알고리즘

자바 기초 & 알고리즘] 구구단

by 쌈빡한 쥬니준 2019. 5. 3.

방법1)

구구단 2단 부터 9단까지 출력을 합니다.

package com.java.basic;

public class Java_Basic_Ex {
	
	public static void main(String[] args) {
		
		int[] result = new int[9];
		System.out.println("구구단 2단");
		
		for(int i=0; i<result.length; i++) {
			result[i] = 2 *(i+1);
			System.out.println();
			System.out.print(result[i]);
		}
		System.out.println();
		
		System.out.println("\n구구단 3단");
		
		for(int i=0; i<result.length; i++) {
			result[i] = 3 *(i+1);
			System.out.println();
			System.out.print(result[i]);
		}
		System.out.println();
		System.out.println("\n구구단 4단");
		
		for(int i=0; i<result.length; i++) {
			result[i] = 4 *(i+1);
			System.out.println();
			System.out.print(result[i]);
		}
		System.out.println();
		System.out.println("\n구구단 5단");
		
		for(int i=0; i<result.length; i++) {
			result[i] = 5 *(i+1);
			System.out.println();
			System.out.print(result[i]);
		}
		System.out.println();
		System.out.println("\n구구단 6단");
		
		for(int i=0; i<result.length; i++) {
			result[i] = 6 *(i+1);
			System.out.println();
			System.out.print(result[i]);
		}
		System.out.println();
		System.out.println("\n구구단 7단");
		
		for(int i=0; i<result.length; i++) {
			result[i] = 7 *(i+1);
			System.out.println();
			System.out.print(result[i]);
		}
		System.out.println();
		System.out.println("\n구구단 8단");
		
		for(int i=0; i<result.length; i++) {
			result[i] = 8 *(i+1);
			System.out.println();
			System.out.print(result[i]);
		}
		System.out.println();
		System.out.println("\n구구단 9단");
		
		for(int i=0; i<result.length; i++) {
			result[i] = 9 *(i+1);
			System.out.println();
			System.out.print(result[i]);
		}
		System.out.println();
	}
}

 

 

방법2)

위의 코드를 메소드로 분리해서 배열에 담아서 풀어내봅니다.

package com.java.basic;

public class Java_Basic_Ex {
	//배열에 담아서 배열로 받아주는 메소드
	public static int[] calculate(int num) {
		int[] result = new int[9];
		for(int i=0; i<result.length; i++) {
			result[i] = num * (i+1);
		}
		return result;
		//반환
	}
	
	
	
	public static void main(String[] args) {
		
		int[] result = calculate(2);
		System.out.println("**2단**");
		for(int i=0; i<result.length; i++) {
			System.out.println(result[i]);
		}
		
		System.out.println();
		
		
		System.out.println("**3단**");
		int[] result3 = calculate(3);
		for(int i=0; i<result.length; i++) {
			System.out.println(result3[i]);
		}
		
		System.out.println();
		int[] result4 = calculate(4);
		System.out.println("**4단**");
		for(int i=0; i<result.length; i++) {
			System.out.println(result4[i]);
		}
		
		System.out.println();
		int[] result5 = calculate(5);
		System.out.println("**5단**");
		for(int i=0; i<result.length; i++) {
			System.out.println(result5[i]);
		}
		
		System.out.println();
		int[] result6 = calculate(6);
		System.out.println("**6단**");
		for(int i=0; i<result.length; i++) {
			System.out.println(result6[i]);
		}
		
		System.out.println();
		int[] result7 = calculate(7);
		System.out.println("**7단**");
		for(int i=0; i<result.length; i++) {
			System.out.println(result7[i]);
		}
		
		System.out.println();
		int[] result8 = calculate(8);
		System.out.println("**8단**");
		for(int i=0; i<result.length; i++) {
			System.out.println(result8[i]);
		}
		
		System.out.println();
		int[] result9 = calculate(9);
		System.out.println("**9단**");
		for(int i=0; i<result.length; i++) {
			System.out.println(result9[i]);
		}
		
	}
}

 

 

방법2)

조금 더 간략하게 줄여봅니다.

package com.java.basic;

public class Java_Basic_Ex {
	//배열에 담아서 배열로 받아주는 메소드
	public static int[] calculate(int num) {
		int[] result = new int[9];
		for(int i=0; i<result.length; i++) {
			result[i] = num * (i+1);
		}
		return result;
		//반환
	}
	
	public static void print(int[] result) {
		for(int i=0; i<result.length; i++) {
			System.out.println(result[i]);
		}
	}
	
	
	
	
	public static void main(String[] args) {
		
		int[] result = calculate(2);
		System.out.println("**2단**");
		print(result);
		
		System.out.println("\n"+"**3단**");
		int[] result3 = calculate(3);
		print(result3);
		
		System.out.println("\n"+"**4단**");
		int[] result4 = calculate(4);
		print(result4);
		
		System.out.println("\n"+"**5단**");
		int[] result5 = calculate(5);
		print(result5);
		
		int[] result6 = calculate(6);
		System.out.println("\n"+"**6단**");
		print(result6);
		
		int[] result7 = calculate(7);
		System.out.println("\n"+"**7단**");
		print(result7);
		
		int[] result8 = calculate(8);
		System.out.println("\n"+"**8단**");
		print(result8);
		
		
		int[] result9 = calculate(9);
		System.out.println("\n"+"**9단**");
		print(result9);
	}
}

 

방법3)

반복되는 부분을 줄여봅니다.

package com.java.basic;

public class Java_Basic_Ex {
	// 배열에 담아서 배열로 받아주는 메소드
	public static int[] calculate(int num) {
		int[] result = new int[9];
		for (int i = 0; i < result.length; i++) {
			result[i] = num * (i + 1);
		}
		return result;
		// 반환
	}

	public static void print(int[] result) {
		for (int i = 0; i < result.length; i++) {
			System.out.println(result[i]);
		}
	}

	public static void main(String[] args) {

		System.out.println("구구단 전체 출력");
		for (int i = 2; i < 10; i++) {
			int[] result = calculate(i);
			print(result);
		}
	}
}

'개발자의 공부방 > 알고리즘' 카테고리의 다른 글

자바 기초 & 알고리즘] 구구단  (0) 2019.05.03

댓글0