Hookay,所以,我无法理解这个问题。说实话,阵列激怒并迷惑我。 ......这是学习的一部分吗?
所以这是我的问题
Netbeans输出这个-_-
以下是代码
//////Problem 4////////
System.out.println("Please Enter the Size of your array");
int arraysize = in.nextInt();
//initalize array
int [][] aOne = new int[arraysize][arraysize];
// load array 1
for (int i = 0; i< aOne.length; i++){
for(int x = 0; x <aOne[i].length;x++){
aOne[i][x] = (int)(Math.random()* 15);}}
//print aOne
for (int i = 0; i< aOne.length; i++){
for (int x = 0; x<aOne.length; x++){
System.out.print(aOne[i]+" "+aOne[x]);
}
System.out.println();
}
发生了什么事?
编辑:我理解它给了我记忆位置...为什么不打印出数字?抱歉。标题是我书中的问题,我一般都遇到阵列问题
答案 0 :(得分:2)
更改行:
System.out.print(aOne[i]+" "+aOne[x]);
到
System.out.print(aOne[i][x]+" ");
然后你会得到数字。否则,您将获得2D阵列的行[i]和[x]的记忆地址。
答案 1 :(得分:0)
如果要打印int []数组。
使用 aOne [i] [x] 在int []数组中打印指定的元素。
另外,对于打印int []数组的第二个for循环,你最好使用 x&lt; aOne [i] .length 安装 x&lt; aOne.length ,因为当int []数组中的行数和列数不同时会引发问题。
用这个做一些,
来自
//print aOne
for (int i = 0; i< aOne.length; i++){
for (int x = 0; x<aOne.length; x++){
System.out.print(aOne[i]+" "+aOne[x]);
}
System.out.println();
}
到
//print aOne
for (int i = 0; i< aOne.length; i++){
for (int x = 0; x<aOne[i].length; x++){
System.out.print(aOne[i][x]+" ");
}
System.out.println();
}
控制台中的一次运行结果如下:
5 0 10
1 11 8
7 7 5