h-i-s-t-o-r-y

[Java] 구구단 본문

Java

[Java] 구구단

H' 2021. 7. 12. 20:43

> 구구단 출력 (=곱셈표, multiplication table) 출력

> 가로로 구구단 출력하기

for (int i = 2; i <=9; i++) {
	System.out.printf("[%d]단\n", i);
	for (int j = 1; j <=9; j++) {
		System.out.printf("%02d * %02d = %02d ", i, j, i*j);
	} //in for
	System.out.println();
} //out for


> 세로로 구구단 출력하기

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


> 2단씩 4행으로 출력하기

int n=4;
for (int k = 1; k <=n; k++) {			
	for (int i = 1; i <=9; i++) {
		for (int j = (9/n)*(k-1)+2; j <=(9/n)*k+1  &&k<=9; j++) {
			System.out.printf("%02d*%02d=%02d ", j, i, j*i);
		} //in for
		System.out.println();
	} //out for
	System.out.println();
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


> 행 갯수 입력받아서 출력하기

int row;

System.out.print("> 행 갯수 입력 ? ");
Scanner scanner = new Scanner(System.in);
row = scanner.nextInt();

for (int k = 1; k <=row; k++) {			
	for (int i = 1; i <=9; i++) {
		for (int j = (9/row)*(k-1)+2; j <=(9/row)*k+1  &&j<=9; j++) {
			System.out.printf("%02d*%02d=%02d ", j, i, j*i);
		} //in for
		System.out.println();
	} //out for
	System.out.println();
}

 

 

 

 

 

 

 

 

 

 


> 라벨을 이용하여 반복문 빠져나오기

for (int i = 2; i <= 9; i++) {
	for (int j = 1; j <=9; j++) {
		System.out.printf("%d * %d = %02d ", i, j, i*j);
		if (j==5) break;	// break 반복문 빠져나감
	}
	System.out.println();
}

// 중첩 for문에서 [안쪽 for문에 break문]을 사용하면
// 전체 for문을 빠져나오는 것이 아니라 안쪽 for문만 빠져나온다.
// 따라서 곱셈은 *5열에서 멈추더라도 2단부터 9단까지의 출력은 반복된다.

 

OUT:
for (int i = 2; i <= 9; i++) {
	for (int j = 1; j <=9; j++) {
		System.out.printf("%d * %d = %02d ", i, j, i*j);
		if (j==5) break OUT;	// 전체 반복문 빠져나감
	}
	System.out.println();
}

// 전체 for문앞에 OUT이라는 라벨을 달고,
// break문에 라벨을 호출하면 전체 for문을 빠져나온다.
// j=5일 때 전체 반복문을 빠져나오기 때문에 결과는 2단의 5열까지만 출력된다.

 

 

Comments