我必须使用主代码来实现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;
}
}
答案 0 :(得分:1)
main
期望命令行参数告诉它要打印多少行,因此您需要学习如何在特定的工作环境中传递该参数。例如,在Netbeans IDE中,您可以将命令行参数指定为项目设置的一部分。
仅出于测试目的,简单的解决方法是在main
的顶部添加此行:
args = new String[]{"10"};