[Java学习笔记]不规则数组的学习:九九乘法表

通过不规则数组打印出九九乘法表

首先创建一个二维数组

其中一维数组里面的每个元素都为null

String[][] Nine_Nine = new String[9][];//生成一维数组,每个数组中的元素都为null
        for (int i = 1; i <= 9; i++){
            Nine_Nine[i-1] = new String[i];//遍历Nine_Nine中的每一个元素,并定义每个元素为i长度的数组

接下来进行元素的填充 

首先创建一个StringBuilder 对象 "Formula"

使用了String.Value0f()方法将 int类型的i转换为 String 类型 然后进行字符串的链接

要注意String Builder 和String 类型不一样 Java语言对于数据类型的要求强烈 

这边使用 String Builder 类中的一个 String Builder.toString()方法将String Builder

转换为String 类型可以将元素赋值到Nine_Nine这个不规则列表中

 StringBuilder Formula = new StringBuilder();
 int Sum = 0;
 for (int i = 1;i <=9;i ++ ){
            for(int j = 1;j <=i ;j ++){
                Formula.append(String.valueOf(i)+"x"+String.valueOf(j));
                Sum = i * j;//九九乘法表结果
                Formula.append("=" +Sum) ;
                Nine_Nine[i-1][j-1] = Formula.toString();//将数组元素赋值
                Formula.delete(0,Formula.toString().length());//清空Formula内容
            }
        }

接下来是对Nine_Nine 数组进行输出

简单的System.out.Println(Array.to String)

[Java学习笔记]不规则数组的学习:九九乘法表

只会输出Nine_Nine在内存中的位置

需要用for 循环进行遍历

for(int i = 0 ; i <= 8 ;i ++){
            System.out.println(Arrays.toString(Nine_Nine[i]));
        }

 来进行输出,此时输出正常

[Java学习笔记]不规则数组的学习:九九乘法表

 最后附上全套代码

package Asuka_Java_code;

import java.util.Arrays;
import java.util.jar.JarEntry;

public class MDA {
    public static void main(String[] args) {
        StringBuilder Formula = new StringBuilder();
        int Sum = 0;
        String[][] Nine_Nine = new String[9][];//生成一维数组,每个数组中的元素都为null
        for (int i = 1; i <= 9; i++){
            Nine_Nine[i-1] = new String[i];//遍历Nine_Nine中的每一个元素,并定义每个元素为i长度的数组
        }
       System.out.println(Arrays.deepToString(Nine_Nine));//进行调试
        for (int i = 1;i <=9;i ++ ){
            for(int j = 1;j <=i ;j ++){
                Formula.append(String.valueOf(i)+"x"+String.valueOf(j));
                Sum = i * j;//九九乘法表结果
                Formula.append("=" +Sum) ;
                Nine_Nine[i-1][j-1] = Formula.toString();//将数组元素赋值
                Formula.delete(0,Formula.toString().length());//清空Formula内容
            }
        }
        for(int i = 0 ; i <= 8 ;i ++){
            System.out.println(Arrays.toString(Nine_Nine[i]));
        }
    }
}

上一篇:剑指 Offer 17. 打印从1到最大的n位数


下一篇:剑指 Offer 17. 打印从1到最大的n位数