java代码

来源:互联网 发布:移动网络电视首页 编辑:程序博客网 时间:2024/05/17 14:29

用Java打印一个乘法口诀表

package com.ibr.test;public class demo1 {    // 私有成员属性    // 创建 一个数组并分配空间    private static int a[][] = new int[9][9];    // 构造方法    public demo1() {        // 构造方法调用voluation方法        voluation();        System.out.println();        show();    }    // 打印99乘法口诀表    void voluation() {        for (int i = 0; i < a.length; i++) {            for (int j = 0; j <= i; j++) {                a[i][j] = (i + 1) * (j + 1);                System.out.print((j + 1) + "x" + (i + 1) + "=" + a[i][j] + "\t");            }            System.out.println();        }    }    void show() {        for (int i = 0; i < a.length; i++) {            for (int j = 0; j <a[i].length; j++) {                System.out.print(a[i][j] + "\t");            }            System.out.println();        }    }    public static void main(String[] args) {        System.out.println("乘法口诀表");        new demo1();    }}

改进,动态分配空间,优化内存浪费

package com.ibr.test;public class demo1 {    // 私有成员属性    // 创建 一个数组并分配空间    private static int a[][] = new int[9][];    int a1,a2;    // 构造方法    public demo1() {        // 构造方法调用voluation方法        voluation();        System.out.println();        show();    }    // 打印99乘法口诀表    void voluation() {        for (int i = 0; i < a.length; i++) {            //动态分配二维数组的行            a[i]=new int[i+1];            for (int j = 0; j<a[i].length; j++) {                a[i][j] = (i + 1) * (j + 1);                //赋值方便打印                a1=i+1;a2=j+1;                //打印                System.out.print(a2 + "x" + a1 + "=" + a[i][j] + "\t");            }            System.out.println();        }    }    void show() {        for (int i = 0; i < a.length; i++) {            for (int j = 0; j <a[i].length; j++) {                System.out.print(a[i][j] + "\t");            }            System.out.println();        }    }    public static void main(String[] args) {        System.out.println("乘法口诀表");        new demo1();    }}
0 0