Java 打印金字塔形的九九乘法表

闻术苑 发布于 2012/09/05 12:14
阅读 1K+
收藏 0
我在学习Java,遇到一个问题,好久都木有解决,是这样的:我想打印一个乘法表,金字塔形状的。这个包含两个类,一个主类,里面含有for循环;另一个类Math,里面含有printNumber方法,每次打印出那个乘法结构。这两个类文件放在不同的包里面。 现在我不知道该如何调用另一个包里的方法,还有不知道如何定义Math发放里面的那个公式了。小弟初学,真心求教,谢谢了~
public class DemoMain {
    public static void main(String[] args) {
	    for(int i=1;i<=9;i++) {
		    for(int j=1;j<=(9-i);j++) {
			    System.out.print("    ");
			}
			for(int k=1;k<=i;k++) {
			    new Math().printNumber(int i,int k);
				System.out.print("  ");
			}
		}
	}
}
class Math {
    public void printNumber(int i, int k) {
	    System.out.print(i+"*"+k+"="+i*k);
	}
}


加载中
1
Jeky
Jeky

首先如果把两个类放在不同的包里,那么在类里需要声明包

代码更改如下:

package demo;//声明所在的包

import math.Math;//引入要使用的类

public class DemoMain{

    public static void main(String[] args){
        for(int i = 1; i <= 9; i++){
            for(int j = 1; j <= (9 - i); j++){
                System.out.print("    ");
            }
            for(int k = 1; k <= i; k++){
                new Math().printNumber(i, k);//这里原来写错了
                System.out.print("  ");
            }
            System.out.println();//这里得加入一个换行
        }
    }
}

package math;//声明所在的包

public class Math{//外部使用类,必须声明为public
    public void printNumber(int i, int k){
        System.out.print(i + "*" + k + "=" + i * k);
    }
}

 然后把DemoMain放在demo文件夹下,Math放在math文件夹下

建立一个新目录叫dist(名称随意)

然后编译:

javac -d dist demo/DemoMain.java
javac -d dist math/Math.java

然后运行:

java -cp dist demo.DemoMain

就可以了

P.S. 新手不用IDE最好,这样学得快

 

 

 

闻术苑
闻术苑
谢谢了,我按您的修正运行了一下,很好,谢谢了
返回顶部
顶部