java关于二维数组的问题。

首先这个二维数组可以看成是一个标准的 3X3 的矩阵 第一个循环 :for(int i = 0;i
java关于二维数组的问题。
首先这个二维数组可以看成是一个标准的 3X3 的矩阵

第一个循环 :
for(int i = 0;i<arr.length;i++){
for(int j=0;j<arr.length;j++){
System.out.print(arr[i][j]);
}
System.out.println();
}
第一轮大循环:i 取值为0时,j取值0,1,2,则打印:
arr[0][0],arr[0][1],arr[0][2]
即: 1,2,3
由此推导 i=1,2 时打印:
4,5,6
7,8,9

第二个大循环:
for(int i = 0;i<arr.length;i++){
for(int j=0;j<arr.length;j++){
System.out.print(arr[j][i]);
}
System.out.println();
}
}
第一轮大循环:i 取值为0时,j取值0,1,2,则打印:
arr[0][0],arr[1][0],arr[2][0]
即: 1,4,7
由此推导:i取值1,2时打印内容为:
2,5,8
3,6,9

最后应该打印出两个矩阵:
123
456
789
147
258
369
Right?2009-08-02
嗯?这个不是什么排列吧?只是普通的打印输出。
而且,第二层循序不对哦,虽然程序执行没问题。
要改成
---
for(int i = 0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
System.out.print(arr[i][j]);
}
System.out.println();
}2009-08-02
楼上说得没错,循环写错了,虽然没有出错,那是因为刚好行 = 列而已。
这个二维数组有3行3列,遍历时应该是每一行,每一列的输出,arr.length获得的就是数组的行,而arr[i].length就是每一行的列数。楼主意思应该是的第一种循环是按123 456 789输出,第二种应该是输出147 258 369吧?循环条件一样的,应该改成楼上那样才对的。2009-08-02
如果楼主将数组换成 int arr[][]=new int[][]{{1,2,3},{4,5,6},{7,8,9,10}};就可用发现错误,你的这个程序正如一楼所说的一样,仅仅是是普通的打印输出。
arr.length表示包含多少个一维数组,
arr[i].length表示第一个一维数组包含多少个元素

修改程序如下:
public class shuzi { // 创建类
public static void main(String[] args) {
int arr[][]=new int[][]{{1,2,3},{4,5,6},{7,8,9}};
for(int i = 0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
System.out.print(arr[i][j]);
}

System.out.println();
}
for(int i = 0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
System.out.print(arr[j][i]);
}
System.out.println();
}
}
}2009-08-02
mengvlog 阅读 8 次 更新于 2025-07-19 18:48:51 我来答关注问题0
  •  bbq1072 JAVA输出二维数组执行不了,求大佬指点

    1、 a0 没有定义第二维数组个数,这样就行:double [][]a0=new double[3][4];2、a0遍历出来的都是0.0,因为没有给a0赋值,只是赋值给了b;所以要遍历内容的话,可以遍历b数组内容。如:3、System.out.print("arr[i][j]"); 中不要加双引号,加了就是字符串,不是变量了。

  • 首先这个二维数组可以看成是一个标准的 3X3 的矩阵 第一个循环 :for(int i = 0;i

  • 首先定义一个二维可变数组的Vector对象:Vector vector = new Vector();接着,创建第一个一维Vector对象v1:Vector v1 = new Vector();向v1中添加三个不同类型的对象:v1.add(new Integer(1));v1.add(2);v1.add(new Object());将v1添加到二维数组中:vector.add(v1);...

  •  爱莉丶170 java中,循环遍历输出二维数组正常,用Arrays.toString()方法输出显示的是地址,为什么

    因为c是一个二维数组。相当于一个长度为2的数组,但是这个数组的元素是数组。当执行Arrays.toString的时候相当于遍历数组,并且输出数组的元素,但是这个数组的元素是数组,所以这里输出的是地址。可以进入到Arrays.toString里面看源码,因为c是二维数组,所以这里的a[i]就是一个数组,并不是一个实际的数。

  •  郭家呈 用java求出身份证上的出生年月日,年龄以及户口所在地,就是使用二维数组求的户口出了问题。。

    1、不论是一维数组还是二维数组,数组的下标都是以“0”开始的,不是从1开始。2、变量声明创建可以在类中操作,创建时可以赋初始值,但变量创建后,赋值须在方法中进行。改成下面代码:class IDcard{ String year = new String();String month = new String();String day = new String();String...

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部