Java Pascal的Triangle使用这个main方法来运行

时间:2017-05-02 00:00:03

标签: java

我必须使用主代码来实现pascal三角形的代码才能运行它,因此无法更改main方法。但是,我的程序只打印出第一行(1:1)。我可以让它完成我需要的十行的唯一方法是改变主要。有什么建议吗?

public class Main {
    public static void main(String[] args) {

        int n = args.length == 1 ? Integer.parseInt(args[0]) : 1;

        for (int i = 1; i <= n; ++i) {
            int[] arr = Pascal.triangle(i);
            System.out.print((i < 10 ? " " : "") + i + ": ");
            for (int j : arr) {
                System.out.print(j + " ");
            }
            System.out.println();
        }
    }
}

class Pascal{
    public static int[] triangle(int n){
        if(n==1)
            return new int[] {1};
        if(n==2)
            return new int[] {1, 1};
        int[] old = triangle(n-1);
        int[] new1 = new int[old.length+1];
        new1[0] = old[0];
        new1[new1.length-1] = old[old.length-1];
        for(int i=1;i<new1.length-1;i++){
            new1[i] = old[i-1] + old[i];
        }
        return new1;
    }
}

1 个答案:

答案 0 :(得分:1)

main期望命令行参数告诉它要打印多少行,因此您需要学习如何在特定的工作环境中传递该参数。例如,在Netbeans IDE中,您可以将命令行参数指定为项目设置的一部分。

仅出于测试目的,简单的解决方法是在main的顶部添加此行:

    args = new String[]{"10"};