Java 打印Pascal'的递归方法;s三角形倒置,右侧向上(通过布尔值)

Java 打印Pascal'的递归方法;s三角形倒置,右侧向上(通过布尔值),java,recursion,boolean,pascals-triangle,Java,Recursion,Boolean,Pascals Triangle,我正在尝试创建一个递归方法,该方法将Pascal的三角形上下颠倒并向上打印。我想使用一个布尔变量在倒三角形和右上三角形之间切换。到目前为止,我已经成功地编写了使pascal三角形倒置的代码: 公共类主{ 布尔值upsideDown=true; 公共无效printPascal(整数n){ 如果(!向上向下){ //这就是我被困的地方 } 如果(向上向下){ if(n

我正在尝试创建一个递归方法,该方法将Pascal的三角形上下颠倒并向上打印。我想使用一个布尔变量在倒三角形和右上三角形之间切换。到目前为止,我已经成功地编写了使pascal三角形倒置的代码:

公共类主{
布尔值upsideDown=true;
公共无效printPascal(整数n){
如果(!向上向下){
//这就是我被困的地方
}
如果(向上向下){
if(n<0)
返回;

对于(int k=0;k来说,最优雅的解决方案似乎是改变打印顺序,使最后一步先打印,然后再从第二步到最后一步,等等,第一步最后打印。这样行吗

public void printPascal(int n){
如果(!向上向下){
if(n<0)
返回;
//先打印未来步骤,然后打印当前步骤
printPascal(n-1);
System.out.println();

对于(int k=0;k来说,最优雅的解决方案似乎是改变打印顺序,使最后一步先打印,然后再从第二步到最后一步,等等,第一步最后打印。这样行吗

public void printPascal(int n){
如果(!向上向下){
if(n<0)
返回;
//先打印未来步骤,然后打印当前步骤
printPascal(n-1);
System.out.println();

对于(int k=0;k这是前两个答案的总结,在这里我们可以输入pascal三角形中需要的必要行数

公共类主{
布尔值upsideDown=true;
公共无效printPascal(整数n){
如果(!向上向下){
if(n<0)
返回;
printPascal(n-1);
System.out.println();

对于(int k=0;k这是前两个答案的总结,在这里我们可以输入pascal三角形中需要的必要行数

公共类主{
布尔值upsideDown=true;
公共无效printPascal(整数n){
如果(!向上向下){
if(n<0)
返回;
printPascal(n-1);
System.out.println();
对于(int k=0;k,您可以使用Pascal三角形迭代创建一个2d数组,然后在左上角打印,如下所示:

 1  1  1  1  1  1  1  1  1  1 
 1  2  3  4  5  6  7  8  9 
 1  3  6 10 15 21 28 36 
 1  4 10 20 35 56 84 
 1  5 15 35 70 126 
 1  6 21 56 126 
 1  7 28 84 
 1  8 36 
 1  9 
 1 
代码:

int n=10;
//“n”行的数组
int[][]三角形=新的int[n][];
//迭代数组中的行
对于(int i=0;i
//输出
对于(int[]行:三角形){
for(int元素:行)
//格式为两位数
System.out.printf(“%2d”,元素);
System.out.println();
}

另请参见:

您可以使用Pascal三角形迭代创建一个二维数组,然后在左上角打印它,如下所示:

 1  1  1  1  1  1  1  1  1  1 
 1  2  3  4  5  6  7  8  9 
 1  3  6 10 15 21 28 36 
 1  4 10 20 35 56 84 
 1  5 15 35 70 126 
 1  6 21 56 126 
 1  7 28 84 
 1  8 36 
 1  9 
 1 
代码:

int n=10;
//“n”行的数组
int[][]三角形=新的int[n][];
//迭代数组中的行
对于(int i=0;i
//输出
对于(int[]行:三角形){
for(int元素:行)
//格式为两位数
System.out.printf(“%2d”,元素);
System.out.println();
}

另见: