Java编程题多维数组的使用

Posted 王六六的IT日常

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java编程题多维数组的使用相关的知识,希望对你有一定的参考价值。

1. 题目要求;

使用二维数组打印一个 10 行杨辉三角
【提示】

  • 第一行有 1 个元素, 第 n 行有 n 个元素
  • 每一行的第一个元素和最后一个元素都是 1
  • 从第三行开始, 对于非第一个元素和最后一个元素的元素。即:
    yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j];

思路

定义,赋值,遍历

代码如下:
//使用二维数组打印一个 10 行杨辉三角
package com.atguigu.exer;
public class YangHuiTest {
	public static void main(String[] args) {
		//1.声明并初始化二维数组      动态初始化
		int[][] yangHui = new int[10][];
		
		//2.给数组的元素赋值
		for(int i=0;i<yangHui.length;i++){
			//yangHui[0] = new int[1]; //第一行有 1 个元素, 第 n 行有 n 个元素
			//yangHui[1] = new int[2];
			yangHui[i] = new int[i+1];
					
			//2.1给首末元素赋值
			yangHui[i][0] = yangHui[i][i] = 1;
					
			//2.2给每行的非首末元素赋值 从i=2开始
			if(i>1){
				//内层循环,从第二列开始j=1,因为是非首末元素,j小于当前行的列数-1,
				for(int j=1;j<yangHui[i].length - 1;j++){ 
					yangHui[i][j] = yangHui[i-1][j-1] + yangHui[i-1][j];
				}
			}
		}
		
		//3.遍历二维数组
		for(int i=0;i<yangHui.length;i++){
			for(int j=0;j<yangHui[i].length;j++){
				System.out.print(yangHui[i][j] + " ");
			}
			System.out.println();//换行
		}
	}
}

结果如下:

【拓展之笔试题】创建一个长度为6的int型数组,要求数组元素的值都在1-30之间,且是随机赋值。同时,要求元素的值各不相同。

代码如下:

class ArrayExer {
	public static void main(String[] args) {
		//方式一:
//		int[] arr = new int[6];
//		for (int i = 0; i < arr.length; i++) { // [0,1) [0,30) [1,31)
//			arr[i] = (int) (Math.random() * 30) + 1;
//			boolean flag = false;
//			while (true) {
//				for (int j = 0; j < i; j++) {
//					if (arr[i] == arr[j]) {
//						flag = true;
//						break;
//					}
//				}
//				if (flag) {
//					arr[i] = (int) (Math.random() * 30) + 1;
//					flag = false;
//					continue;
//				}
//				break;
//			}
//		}
//
//		for (int i = 0; i < arr.length; i++) {
//			System.out.println(arr[i]);
//		}

		//方式二:
		int[] arr = new int[6];
		for (int i = 0; i < arr.length; i++) {// [0,1) [0,30) [1,31)
			arr[i] = (int) (Math.random() * 30) + 1;
			
				for (int j = 0; j < i; j++) {
					if (arr[i] == arr[j]) {
						i--;
						break;
					}
				}
			}

		for (int i = 0; i < arr.length; i++) {
			System.out.println(arr[i]);
		}
	}
}

以上是关于Java编程题多维数组的使用的主要内容,如果未能解决你的问题,请参考以下文章

JAVA单维数组与多维数组编程

编程输出杨辉三角的前10行---多维数组的应用---java实现

java 数组题

07-JAVA一维数组及多维数组

多维数组初始化

java中多维数组如何构造索引?