传智播客-----二维数组

二维数组练习-用JAVA实现一个由用户自己决定打印几行的杨辉三角
package com.zhou.java;
import java.util.Scanner;
import javax.annotation.processing.Messager;

public classTestArry {
 public static void main(String[] args) {
 //首先申明Scanner类,来由用户自己输入打印多少行杨辉三角
Scannerscanner = new Scanner(System.in);
boolean flage = true; //定义是否继续进入循环标志
String ex = "y"; //定义退出标志
while(flage){ //使得程序循环
            flage = false;
            int count1 = 0;
//提示用户输入数据,表示打印多少行的杨辉三角;
 System.out.print("请输入需要打印杨辉三角的行数:");
 //用户在输入的时候会有一个输入的不是整数的异常
try{
count1 = scanner.nextInt();
}catch(Exception e){
         e.printStackTrace();
}
//1.先申明一个二维数组:二维数组有10个元素;
int[][] yh = new int[count1][];

//2.对二维数组的元素进行初始化:第i个元素(i从0开始)的长度为i+1的一维数组;
for (int i = 0; i < yh.length; i++) {
//System.out.println(yh[i]);//值为null
yh[i] = new int[i+1];//因为i是从0开始的,所以一维数组的长度是i+1;
//3.对具体的每一个元素进行初始化(对1的元素):yh[i][0]=1;yh[i][i]=1;
yh[i][0] = 1;
yh[i][i] = 1;
//4.对具体的每一个元素进行初始化(对非1的元素):yh[i][j]=yh[i-1][j]+yh[i-1][j-1] (i>1&&(j>0&&j<i));
for (int j = 0; j < yh[i].length; j++) {
if(i>1&&(j>0&&j<i)){
yh[i][j] = yh[i-1][j] + yh[i-1][j-1];
}
}
}
//5.遍历二维数组,需要使用双重的for循环
for(int i = 0; i < yh.length; i++) {
for (int j = 0; j < yh[i].length; j++) {
System.out.print(yh[i][j]+"\t");
}
System.out.println();
}
//退出循环的条件
System.out.print("是否退出循环y//n ?");
String exit = scanner.next();
if(ex.equals(exit)){
flage = false;    
                }
else{
 flage = true;
                       }
         }
scanner.close();
System.out.println("程序已经退出!");
System.exit(1);
}

}
 
wKiom1MgT4bxyKiSAAHLRkY3P3U800.jpg

 

本文出自 “IT技术JAVA” 博客,转载请与作者联系!

你可能感兴趣的:(传智播客-----二维数组)