data.txt中有一个问题,我们有4行和3个列,这给我带来了错误,请别人解决此问题,但是当我在行和列中传递4x4时,它工作正常,但不符合项目要求
public class ReadMagicSquare {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws FileNotFoundException {
// TODO code application logic here
Scanner sc = new Scanner(new BufferedReader(new FileReader("data.txt")));
int rows = 4;
int columns = 3;
int [][] myArray = new int[rows][columns];
while(sc.hasNextLine()) {
for (int i=0; i<myArray.length; i++) {
String[] line = sc.nextLine().trim().split(" ");
for (int j=0; j<line.length; j++) {
myArray[i][j] = Integer.parseInt(line[j]);
}
}
}
for(int i=0;i<myArray.length;i++){
for(int j=0;j<myArray.length;j++){
System.out.print(myArray[i][j]+" ");
}
System.out.println();
}
}
}
在data.txt文件中
2 -1 1
6 4 24
2 19 7
for(int i=0;i<myArray.length;i++){
for(int j=0;j<myArray.length;j++){
System.out.print(myArray[i][j]+" ");
}
System.out.println();
}
myArray.length
为您提供2D数组中的行数,因此在内部循环中,j将从0 to less than 4
代替0 to less than 3
,这将给您带来超出范围的错误。
您需要将j从0迭代到列数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句