java的数组不会自动扩展,必须在初始化时指定大小。 你可以用2个list来当作2维数组用。 也可以做如下修改,一开始给数组赋一个足够大的空间。 Double[][] arrayd = new Double[100][100]; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class QAPTest { public static void main(String[] args) throws IOException { File f = new File("D://QAP.txt"); BufferedReader buf = new BufferedReader(new FileReader(f)); int[][] city= new int[10][10]; int line = 0; String str = null; while ((buf.read()) != -1) { str = buf.readLine(); String[] date = str.split(" "); for (int i = 0; i < date.length; i++) { city[line][i] = Integer.parseInt(date[i]); System.out.print(city[line][i]); } line++; } } }