使用二维数组打印一个10行杨辉三角
public static main(String[] args){ //1 声明初始化二维数组 int[][] yanghui = new int[10][]; //2 给数组的元素赋值 for(int i = 0;i < yanghui.length;i++){ yanghui[i] =new int[i+1]; //给首末元素元素赋值 yanghui[i][0] = yanghui[i][i] = 1; //给每行的非首末元素赋值 if(i>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]); } } }从键盘输入一个整数(1~20)则以该数字为矩阵的大小,把1,2,3…n*n 的数字按照顺时针螺旋的形式填入其中。
例如: 输入数字2,则程序输出: 1 2 4 3
public class RectangleTest { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("输入一个数字"); int len = scanner.nextInt(); int[][] arr = new int[len][len]; int s = len * len; /* * k = 1:向右 k = 2:向下 k = 3:向左 k = 4:向上 */ int k = 1; int i = 0, j = 0; for (int m = 1; m <= s; m++) { if (k == 1) { if (j < len && arr[i][j] == 0) { arr[i][j++] = m; } else { k = 2; i++; j--; m--; } } else if (k == 2) { if (i < len && arr[i][j] == 0) { arr[i++][j] = m; } else { k = 3; i--; j--; m--; } } else if (k == 3) { if (j >= 0 && arr[i][j] == 0) { arr[i][j--] = m; } else { k = 4; i--; j++; m--; } } else if (k == 4) { if (i >= 0 && arr[i][j] == 0) { arr[i--][j] = m; } else { k = 1; i++; j++; m--; } } } // 遍历 for (int m = 0; m < arr.length; m++) { for (int n = 0; n < arr[m].length; n++) { System.out.print(arr[m][n] + "\t"); } System.out.println(); } } }(1)创建一个名为ArrayTest的类,在main()方法中声明array1和array2两个变量,他们是int[]类型的数组。
(2)使用大括号{},把array1初始化为8个素数:2,3,5,7,11,13,17,19。
(3)显示array1的内容。
(4)赋值 array2变量等于array1,修改array2中的偶索引元素,使其等于索引值
(如array[0]=0,array[2]=2)。打印出array1。
思考:array1和array2是什么关系?array1和array2地址值相同,都指向了堆空间的唯一的一个数组实体。
public class ArrayTest{ public static void main(String[] args) { int array1,array2; array1 = new[]{2,3,5,7,11,13,17,19}; for(int i =0;i<array1.length;i++){ System.out.println(array1[i] + "\t"); } //不能称作数值的复制,地址值是一样的 开辟的空间只有一个 //如何理解:将array1保存的数组的地址,赋值给了array32,使得array1和array2共同指向堆空间中的同一个数组实体。 array2 = array1; for(int i =0;i<array2.length;i++){ if(i % 2 ==0){ array2[i] = i; } } System.out.println(); for(int i =0;i < array1.length;i++){ System.out.print(array1[i]+"\t"); } } }好了,我亲爱的读者朋友,以上就是本文的全部内容了!!!
觉得有点用记得给我点赞哦!
通过坚持不懈地学习,持续不断地输出,你的编程基本功算得上是突飞猛进。
为了帮助更多的程序员,专注于分享有趣的 Java 技术编程和有益的程序人生。一开始,阅读量寥寥无几,关注人数更是少得可怜。但随自己的不断努力,阅读量和关注人都在猛烈攀升。
绝对不容错过,期待与你的不期而遇。