Java之二维数组的相关练习(一)

二维数组的遍历

public static boolean findValue(int[][] arr,int n){
	for(int i=0;i<arr.length;i++){
		for(int j=0;j<arr[0].length;j++){
			if(arr[i][j]==n){
				return true;
			}
			}
		}
	return false;
}
public static void main(String[] args) {
	int[][] arr={{1,2,3},{4,5,6},{7,8,9}};
	Scanner scan=new Scanner(System.in);
	int num=scan.nextInt();
	boolean bool=findValue(arr,num);
	System.out.println(bool);
}

打印菱形

主要思想:将整个菱形分为两部分,前四行一个规律,后三行一个规律,一个控制行,一个控制列。

public static void main(String[] args) {
		/**
		 * 将整个菱形分成两部分,前四行一个规律,后三行一个规律,一个控制行,一个控制列;
		 */
		// 打印菱形上半部分
		for(int i=1;i<4;i++){
			for(int j=4;j>=i;j--){//打印空格
				System.out.print(" ");
			}
			for(int n=1;n<i*2;n++){//打印*
				System.out.print("*");
			}
			System.out.println();
		}//打印下半部分
		for(int k=0;k<4;k++){
			for(int m=0;m<=k;m++){//打印空格
				System.out.print(" ");
			}
			for(int l=7;l>k*2;l--){//打印*
				System.out.print("*");
			}
			System.out.println( );
		}
	}

打印倒三角矩阵

例:

输出以下矩阵:

100000

110000

121000

132100

143210

154321

主要思想:找到该矩阵的规律,发现:当j=0时 或i=j时,arr[i][j]=1;其他位置,同一列中,下一行较上一行多一,再利用二维数组for...each进行打印输出。

public static void main(String[] args) {
		int[][] arr=new int[6][6];
			for(int i=0;i<arr.length;i++){
				for(int j=0;j<=i;j++){
					if(j==0||j==i){
						arr[i][j]=1;
						}else{
							arr[i][j]=arr[i-1][j]+1;
							}
					}
				}
			for(int[] brr:arr){
				for(int j:brr){
					System.out.print(j);
					}
				System.out.println();
				}
		}

猜你喜欢

转载自blog.csdn.net/duanduan_l/article/details/82142080