Programming/Java \ Spring

for문을 중첩하지 않고 구구단 출력하기

 

안녕하세요😊

 

남궁성님의 코딩초보카페에서 어떤 선배님의 주입식 코딩만 하지말자는 글에 감명받아

복습중에 구구단 출력 예제의 대명사 중첩for문을 사용치않고 구구단 출력을 해보자싶어 남겨봅니다

(누군가 먼저 코딩하신 적이 있을지 모르지만 구글링 및 모든 검색을 하지 않고 순수하게 해봤습니다)

 

자바예제 구구단 출력하기

 

중첩for문을 이용한 구구단 출력하기

public class Overflow {

	public static void main(String[] args) {

		for(int i=2; i<=9; i++) {
        	for(int j=1; j<=9; j++){
			System.out.printf("%d * %d = %d\t",i, j, i*j);
			}
           	System.out.println();
		}
	}
}

 

for문을 중첩하지 않고 구구단 출력하기

public class Overflow {

	public static void main(String[] args) {
		for(int i=2, j=1; i<=9; j++) {
			System.out.printf("%d * %d = %d\t",i, j, i*j);
			if(j==9) {
				i++;
				j=0;
				System.out.println();
			}
		}
 	}
}

 

💡 중첩for문을 이용하면 단이되는 숫자를 i에 대입하고, 단의 배수가 되는 숫자를 j에 대입하여 2단이면 j가 9가 되면 i를 증가시켜 3단으로 다시 for문 반복 블라블라 

💡 비중첩for문은 단이되는 i는 그대로 하고 배수가 될 j도 선언해서 if문을 이용하여 i를 증가시키고 j의 초기화도 진행합니다.

💡 사실 두 방법 모두 연산이 반복되서 처리되므로 속도나 효율면에선 딱히 더 좋은게 무엇이다 할수 없는거 같네요 🤣