以四种形式输出九九乘法表(根据等于号对齐)

打印九九乘法表想必很多人都干过,不过九九乘法表也可以有各种不同的形式,主要还是考察对for循环的掌握,这里罗列了我所尝试的四种形式的代码,当然,代码还可以优化,比如输出空格的语句肯定还有其他的方法 或者更简单的逻辑判断

在尝试第三种和第四种的时候出现了输出的等式不对齐的结果,在网上也搜了一些答案,但是真正符合要求的还是没找到,刚开始想右对齐,但相乘为两位数结果的情况不好处理,最后选择对结果进行操作,一位数就补一个空位,两位数的不补,然后以等号形式对其,这样的打印结果也更规整。具体详见代码。

(i和j变量在主方法里已经提前声明;这里只放循环语句的代码)

第一种:

(效果图)

以四种形式输出九九乘法表(根据等于号对齐)_第1张图片

(代码)

//1
 for (i = 1; i <= 9; i++) {
    for (j = 1; j <= i; j++) {
        System.out.print(i + "*" + j + "=" + (i * j) + "\t");
           }
        System.out.println();
 }

第二种

(效果图)

以四种形式输出九九乘法表(根据等于号对齐)_第2张图片

(代码)

for (i = 9; i >= 0; i--) {
            for (j = 1; j <= i; j++) {
                System.out.print(j + "*" + i + "=" + (i * j) + "\t");
            }
            System.out.println();
        }

第三种

(效果图)

以四种形式输出九九乘法表(根据等于号对齐)_第3张图片

(代码)

for (i = 1; i <= 9; i++) {
            for (j = 1; j <= 9 - i; j++) {
                System.out.print("        ");
            }
            for (j = 1; j <= i; j++) {
                if ((i * j) < 10)
                    System.out.print(j + "*" + i + "=" + (" "+(i * j))+"\t");
                else
                    System.out.print(j + "*" + i + "=" + (i * j) + "\t");
            }
            System.out.println();
        }

第四种

(效果图)

以四种形式输出九九乘法表(根据等于号对齐)_第4张图片

(代码)

 for (i = 9; i > 0; i--) {
            for (j = 0; j < 9 - i; j++) {
                System.out.print("        ");
            }

            for (j = i; j > 0; j--) {
                if ((i * j) < 10)
                    System.out.print(j + "*" + i + "=" + (" " + (i * j)) + "\t");
                else
                    System.out.print(j + "*" + i + "=" + (i * j) + "\t");
            }
            System.out.println();
        }

 

你可能感兴趣的:(Java自学)