首页 > 代码库 > java杨辉三角和空心菱形(二维数组篇)

java杨辉三角和空心菱形(二维数组篇)

一、杨辉三角

 1 import java.util.Scanner;                                   //导入包
 2 public class Test7 {
 3     public static void main(String[]args){
 4 
 5         Scanner row=new Scanner(System.in);                 //调用扫描器
 6         int n = row.nextInt();                              //定义类型
 7         int [][] a=new int[n][n];                           //定义二位数组
 8         int i,j;                                            //声明整型
 9         
10         for(i=0;i<n;i++){                                   //循环行
11                         
12                 for(j=0;j<=i;j++){                          //循环列
13 
14                     if(j==0 || j==i){                       //每行第一个和最后一个
15                         a[i][j]=1;
16                         
17                         System.out.print(a[i][j]+"\t");
18                     }
19                     
20                     else{
21                         a[i][j]=a[i-1][j-1]+a[i-1][j];      //等于上一行同位置和前一位置两个数之和
22                         System.out.print(a[i][j]+"\t");
23                     }                                            
24                 }
25                 System.out.println();                       //换行
26                 System.out.println();
27             
28         }
29     }
30 
31 }

 

二、空心菱形

public class Test6 {
    public static void main(String[]args){
        String [][]a=new String[11][];               //定义二维数组
        for(int i=0;i<11;i++){                       //循环行
            if(i<=5){                                //上半部分
                for(int j=0;j<11;j++){               //循环列
                    if(j==5-i || j==5+i){            //循环列
                    System.out.print("*");           //输出*号
                    }
                    else{                            //输出其他恐怖部分
                        System.out.print(" ");
                    }
                }
                System.out.println();
            }
            else{                                    //下半部分
                for(int j=0;j<11;j++){               //循环行
                    if(j==i-5 || j==(10-(i-5))){    //循环列
                        System.out.print("*");
                    }
                    else{
                        System.out.print(" ");       //空白部分
                    }
                }
                System.out.println();                //换行
            }
        }
    }
}

 

java杨辉三角和空心菱形(二维数组篇)