一个JAVA输出二维数组的简单程序看看有什么问题,谢谢

2025-02-23 06:19:27
推荐回答(5个)
回答1:

其实解决方法真的非常非常简单……就是将你的一句for(String[] b1:A[i][j])改为for(String[] b1:A)就可以了。以下是改好了的代码(附上了错处的说明):

public class ArrayInit {
String[][] A = new String[4][4];

public void printString()
{
for(int i=0;i<=4;i++)
{
for(int j=0;j<=4;j++)
{
for(String[] b1:A)///这里改为A啊!!!!
{
System.out.print(b1.toString()+"\t");
}
}
System.out.println();
}
//return null;

}
public static void main(String[] args) {
ArrayInit array = new ArrayInit();
array.printString();

}

}

问题解决了,记得给我分哦~~呵呵……

回答2:

第一个 数据类型不对
因该是for(String b1:A[i][j])而不是String[]
第二个,我这不能验证但你应该会报nullpointerexception吧.因为你的数据根本没有初始化

回答3:

public class ArrayInit {
String[][] A = new String[4][4];

public void printString()
{
for(int i=0;i<4;i++)//这里溢出了,不应该超出数组的范围
{
for(int j=0;j<4;j++)//这里溢出了
{
for(String[] b1:A[i][j])
{
System.out.print(b1.toString()+"\t");
}
}
System.out.println();
}
//return null;

}
public static void main(String[] args) {
ArrayInit array = new ArrayInit();
array.printString();

}

}

回答4:

package com.gxsdxy.test;

public class ArrayInit {
String[][] A = new String[4][4];

public void printString()
{
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
A[i][j] = i * 10 + j + "";
System.out.print(A[i][j].toString()+"\t");
}
System.out.println();
}
//return null;

}
public static void main(String[] args) {
ArrayInit array = new ArrayInit();
array.printString();

}

}

回答5:

搞那么多循环做什么
for(int i=0; i for(String str : A[i]) {
System.out.print(str + "\t");
}
System.out.println();
}