Java递归实现九九乘法表

递归,通俗的说就是方法自己调用自己,而在这里我们将用Java来实现递归编写九九乘法表

首先随意创建一个类,这里创建了一个名为HelloWorld的类:

package com.hbf.demo;

 

public class HelloWorld {

   

}

创建好之后在里面写一个方法,方法名随意,这里直接用递归的拼音命名,也就是方法名为diGui(),方法得传一个参数进来,所以方法如下:

public static void diGui(int i) {

   

}

方法的形参列表是一个整形(int)的参数,参数名称随意,这里直接用i,方法名写好之后,就写里面得方法体,首先第一步判断传进来的参数是否小于等于九,当然也可以直接小于十,如果大于九,方法直接结束,只有当参数i小于等于九时,再用一个for循环,循环遍历满足条件的每一个数:

public static void diGui(int i) {

        if (i <= 9) {

            for (int j = 1; j <= i; j++) {

                System.out.print(j + "X" + i + "=" + (i * j) + "\t");

            }

            System.out.print("\n");

        }

}

 For循环里面的参数j要小于等于参数i,同时参数j的初始值是1,最后参数j自增一,for循环里面直接用System.out.print()输出,print()括号里面拼接一下九九乘法表的格式,也就是System.out.print(j + "X" + i + "=" + (i * j) + "\t");这个格式,这里注意参数j一定要放前面,还有后面加个\t空格符隔开,然后在for循环执行完之后再输出一个换行符,这样才能换行显示,还有最重要的就是不能用System.out.println()输出,因为其自带换行,每输出一次都会换行,格式就会直接竖着显示,当初个人自己就是开始不知道,搞了很久的格式输出,最后才知道要用print()输出才可以。

最后也就最重要的一步,那就是调用递归,其实也就是在方法的最后调用一下方法自己,调用的时候需要注意一下的是参数,参数不能直接写i++,这样写会发生异常,执行会报错,应该写成i+1,如下:

public static void diGui(int i) {

        if (i <= 9) {

            for (int j = 1; j <= i; j++) {

                System.out.print(j + "X" + i + "=" + (i * j) + "\t");

            }

            System.out.print("\n");

            diGui(i + 1);

        }

}

最后讲一下for循环得执行过程,和格式为什么要System.out.print(j + "X" + i + "=" + (i * j) + "\t");这样写,这里假设参数i=1,传进去之后,判断是否小于等于9,1<9,满足条件进入for循环,因为条件j<=i,所以输出的结果就是1X1=1,最后到递归自己调用自己,而这时因为i=1,所以i+1之后变成了2,而当i=2时,j<=2,这里i值每一次调用方法都是不变的,所以结果输出为1X2=2 2X2=4,然后每一次递归,叠加,直到不满足i<=9时,循环结束,最后输出九九乘法表,整体代码和执行结果如下截图:

Java递归实现九九乘法表_第1张图片

你可能感兴趣的:(Java递归实现九九乘法表)