单次循环打印九九乘法表

初学java入门时如何单次for循环打印九九乘法表

效果如下:
1*1 = 1 	
1*2 = 2 	2*2 = 4 	
1*3 = 3 	2*3 = 6 	3*3 = 9 	
1*4 = 4 	2*4 = 8 	3*4 = 12 	4*4 = 16 	
1*5 = 5 	2*5 = 10 	3*5 = 15 	4*5 = 20 	5*5 = 25 	
1*6 = 6 	2*6 = 12 	3*6 = 18 	4*6 = 24 	5*6 = 30 	6*6 = 36 	
1*7 = 7 	2*7 = 14 	3*7 = 21 	4*7 = 28 	5*7 = 35 	6*7 = 42 	7*7 = 49 	
1*8 = 8 	2*8 = 16 	3*8 = 24 	4*8 = 32 	5*8 = 40 	6*8 = 48 	7*8 = 56 	8*8 = 64 	
1*9 = 9 	2*9 = 18 	3*9 = 27 	4*9 = 36 	5*9 = 45 	6*9 = 54 	7*9 = 63 	8*9 = 72 	9*9 = 81 	
代码块:
for (int n = 1, n = i; i <= 9 ; n++) {
	System.out.print(n + "*" + i + " = " + n * i + " \t");
    if (i == n){
    	System.out.println();
        n = 0;
        i++;
     }
 }
代码分析:

难点:如何在单层循环中使其多次打印每一层的多个乘法公式。

分析语句:
for (int i = 1, n = 1; i <= 9 ; n++)

乘法表中我们可以确定2个有规律可循的变量,就是2个因数。所以在for里我们定义2个变量分别是2个因子。

变量 n 我们作为第一个因子;

变量 i 我们作为第二个因子,使其<=9;

n++ 的作用 :因为在每行打印结束后,我们会重置n=0,所以在从新进入循环得时候需要从一开始。

if (i == n){
    System.out.println();
    n = 0;
    i++;
}

从99乘法表中我们可以看出,每一层最后一个式子,2个因数是相等的。

在这需要做个判断,如果相等则换行,并且将第二个因数置0,因为在 **for()**中,**n++**了,所在在执行语句中,n从1开始。

同时让i++,让每次进入循环得时候,下一层的式子,第二个因数比上一层大一位。如果“ i ”不自增,for循环将进入死循环。

你可能感兴趣的:(JAVA知识散集,java)