我负责将两个矩阵写入文件(我已经完成),然后从文件中读取数据以执行各种计算。我遇到的困难是重建方法中的每个矩阵来执行计算。我决定使用ArrayList的ArrayList,以获得我需要的2-D矩阵。使用BufferedReader,我需要遍历一个矩阵,将元素添加到一个数组列表中,然后为第二个矩阵执行操作。我在矩阵上添加了标题,作为标记来查找我想要使用的矩阵数据。有没有更好的方法来做到这一点?从文件数据构建两个二维阵列
public void sum() throws IOException {
ArrayList<ArrayList<Integer>> matrixArray = new ArrayList<>();
while(br.read() != -1) {
ArrayList row = new ArrayList();
//tried this, using two println spaces between matrices
//but realized can't use readline this way
while(!br.readLine().equals("\n\n")) {
row.add(br.read());
}
matrixArray.add(row);
}
文件数据的形式为:
Matrix One
A B
C D
Matrix Two
A B
C D
--update - 从注释下
while(file.hasNext()) {
if(file.hasNext("Matrix One")){
//Fill arraylist with row data until \n
while(file.hasNextInt()) {
row.add(file.nextInt());
}
matrixOne.add(row);
}
else if(file.hasNext("Matrix Two")) {
row.clear();
while(file.hasNextInt()) {
row.add(file.nextInt());
}
matrixTwo.add(row);
}
}
不要清除该行。相反,创建一个新的。您的ArrayList数据列表仅存储引用。 –
是否允许以JSON/XML格式或二进制格式进行写入? – SaurabhJinturkar
@SaurabhJinturkar - 不,只使用Java。 :/ 没有想到这将是困难的计划 - 结果是脑部疼痛。 – wellington