
java程序疑问
classB{publicstaticvoidmain(Stringargs[]){inta[][]=newint[][]{{1,2,3},{4,5,6},{7,8,9}...
class B{
public static void main(String args[]){
int a[][]=new int[][]{{1,2,3},{4,5,6},{7,8,9}};
int i=0;
do{
int j=0;
do{
int r=a[i][j];
a[i][j]=a[j][i];
a[j][i]=r;
j++;
}
while(j<a[i].length);
i++;
}
while(i<a.length);
System.out.print(a[0][2]);
}
}
为什么结果不是4 展开
public static void main(String args[]){
int a[][]=new int[][]{{1,2,3},{4,5,6},{7,8,9}};
int i=0;
do{
int j=0;
do{
int r=a[i][j];
a[i][j]=a[j][i];
a[j][i]=r;
j++;
}
while(j<a[i].length);
i++;
}
while(i<a.length);
System.out.print(a[0][2]);
}
}
为什么结果不是4 展开
3个回答
展开全部
结果是数组什么都没变。
程序进行中的交换是这样的:
a[0][0] <--> a[0][0]
a[0][1] <--> a[1][0]
a[0][2] <--> a[2][0]
a[1][0] <--> a[0][1]
a[1][1] <--> a[1][1]
a[1][2] <--> a[2][1]
a[2][0] <--> a[0][2]
a[2][1] <--> a[1][2]
a[2][2] <--> a[2][2]
交换的数全都被交换回去了,所以原数组没变,输出3
程序进行中的交换是这样的:
a[0][0] <--> a[0][0]
a[0][1] <--> a[1][0]
a[0][2] <--> a[2][0]
a[1][0] <--> a[0][1]
a[1][1] <--> a[1][1]
a[1][2] <--> a[2][1]
a[2][0] <--> a[0][2]
a[2][1] <--> a[1][2]
a[2][2] <--> a[2][2]
交换的数全都被交换回去了,所以原数组没变,输出3
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询