专业的JAVA编程教程与资源

网站首页 > java教程 正文

Java编程:打印九九乘法表,算法和打印形式知多少?

temp10 2024-10-31 15:04:04 java教程 16 ℃ 0 评论

1. 前言

对于九九乘法表大家都非常熟悉吧!可是在Java编程中它是怎么编写的?今天就教大家怎么编写九九乘法表吧!

2. 打印形式

/**
 * @Classname Test
 * @Description 九九乘法表打印
 * @Author pps
 * @Date 2021/10/13 10:10
 * @Version 1.0
 */
public class Test {

    static final int LENGTH_OF_ARRAY= 9;

    /**
     * 判断结果是否大于9,如果不大于9前面加一个空格
     * @param num
     * @return
     */
    public static String print(int num) {
        return (num > LENGTH_OF_ARRAY) ? "" + num : " " + num;
    }


    public static void square(){
        System.out.println("打印方形九九乘法表:");
        int i, j;
        for(i=1; i <= LENGTH_OF_ARRAY; i++){
            for(j=1; j<=LENGTH_OF_ARRAY; j++){
                System.out.print(i+"*"+j+"="+print(i*j)+"\t");
            }
            System.out.println();
        }
    }

    /**
     * 正三角乘法表
     * @return
     */
    public static void regularTriangle(){
        System.out.println("打印正三角九九乘法表:");
        int i, j;
        for (i = 1; i <= LENGTH_OF_ARRAY; i++) {
            for (j = 1; j <= i; j++) {
                System.out.print(j + "*" + i + "=" + print(i * j) + "\t");
            }
            System.out.println();
        }
    }

    /**
     * 倒三角乘法表
     */
    public static void invertedTriangle(){
        System.out.println("打印倒三角九九乘法表:");
        int i, j;
        for (i=9; i>=1; i--) {
            for (j=1; j<=i; j++) {
                System.out.print(j+"*"+i+"="+print(i*j)+"\t");
            }
            System.out.println();
        }

    }

    public static void main(String[] args) {
        square();
        regularTriangle();
        invertedTriangle();
    }
}

打印九九乘法表输出:

Java编程:打印九九乘法表,算法和打印形式知多少?

打印方形九九乘法表:
1*1= 1  1*2= 2  1*3= 3  1*4= 4  1*5= 5  1*6= 6  1*7= 7  1*8= 8  1*9= 9  
2*1= 2  2*2= 4  2*3= 6  2*4= 8  2*5=10  2*6=12  2*7=14  2*8=16  2*9=18  
3*1= 3  3*2= 6  3*3= 9  3*4=12  3*5=15  3*6=18  3*7=21  3*8=24  3*9=27  
4*1= 4  4*2= 8  4*3=12  4*4=16  4*5=20  4*6=24  4*7=28  4*8=32  4*9=36  
5*1= 5  5*2=10  5*3=15  5*4=20  5*5=25  5*6=30  5*7=35  5*8=40  5*9=45  
6*1= 6  6*2=12  6*3=18  6*4=24  6*5=30  6*6=36  6*7=42  6*8=48  6*9=54  
7*1= 7  7*2=14  7*3=21  7*4=28  7*5=35  7*6=42  7*7=49  7*8=56  7*9=63  
8*1= 8  8*2=16  8*3=24  8*4=32  8*5=40  8*6=48  8*7=56  8*8=64  8*9=72  
9*1= 9  9*2=18  9*3=27  9*4=36  9*5=45  9*6=54  9*7=63  9*8=72  9*9=81  
打印正三角九九乘法表:
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  
打印倒三角九九乘法表:
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  
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*7= 7  2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49  
1*6= 6  2*6=12  3*6=18  4*6=24  5*6=30  6*6=36  
1*5= 5  2*5=10  3*5=15  4*5=20  5*5=25  
1*4= 4  2*4= 8  3*4=12  4*4=16  
1*3= 3  2*3= 6  3*3= 9  
1*2= 2  2*2= 4  
1*1= 1

3. 算法实现

   /**
     * 使用while()实现打印九九乘法表
     */
    public static void whileIf() {
        int i = 1, j = 1;
        while (i <= LENGTH_OF_ARRAY) {
            System.out.print(j + "*" + i + "=" + print(j * i) + "\t");
            j++;
            if (j > i) {
                j = 1;
                i++;
                System.out.println();
            }
        }
    }

    /**
     * 使用do()while()实现打印九九乘法表
     */
    public static void doWhile() {
        int i = 1;
        do{
            int j=1;
            do{
                System.out.print(i+"*"+j+"="+(i*j)+" "+"\t"); 
                j++;
            }while(j<=i);//大于i之后跳出循环

            System.out.println();
            i++;
        }while(i<=LENGTH_OF_ARRAY);//小于1之后跳出循环
    }

    /**
     *递归实现打印出九九乘法表
     * @param i
     */
    public static void recursion(int i) {
        if (i == 1) {
            System.out.println("1*1= 1 ");
        } else {
            recursion(i - 1);
            for (int j = 1; j <= i; j++) {
                System.out.print(j + "*" + i + "=" + print(j * i )+ " ");
            }
            System.out.println();
        }
    }

4. 码农来洞见

九九乘法表不同的打印形式是为了提升编程的逻辑思维,不同的算法实现是为了提升编程的数据结构和算法。学本事还是要内外兼修!

点击关注『码农洞见』,洞见也许就在其中 ☉

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表