在Java中显示ImageMatrix数据的问题

在Java中显示ImageMatrix数据的问题,java,machine-learning,Java,Machine Learning,目前,我有两个类ImageMatrix类和ImageMatrixDB类,它们基本上应该将一个8×8像素的矩阵构建到一个数组中,以便稍后进行操作。我正在使用一些数据集,我希望应用一些mahcine学习算法。(请参见和。)目前的java文件如下所示: ImageMatrix.java public class ImageMatrix { int[] data; int classCode; public ImageMatrix(int[] data, int classCod

目前,我有两个类ImageMatrix类和ImageMatrixDB类,它们基本上应该将一个8×8像素的矩阵构建到一个数组中,以便稍后进行操作。我正在使用一些数据集,我希望应用一些mahcine学习算法。(请参见和。)目前的java文件如下所示:

ImageMatrix.java

public class ImageMatrix {
    int[] data;
    int classCode;
    public ImageMatrix(int[] data, int classCode) {
        assert data.length == 64;
        this.data = data;
        this.classCode = classCode;
    }

    public int[] getData() {
      return data;
    }

    public int getClassCode() {
     return classCode;
    }
}
import java.io.*;
import java.util.*;



public class ImageMatrixDB implements Iterable<ImageMatrix> {
    private List<ImageMatrix> list = new ArrayList<>;

    public static ImageMatrixDB load(File f) throws IOException {
        ImageMatrixDB result = new ImageMatrixDB();
        try (FileReader fr = new FileReader(f);
             BufferedReader br = new BufferedReader(fr)) {
            for (String line; null != (line = br.readLine()); ) {
                int lastComma = line.lastIndexOf(',');
                int classCode = Integer.parseInt(line.substring(1 + lastComma));
                int[] data = Arrays.stream(line.substring(0, lastComma).split(","))
                                   .mapToInt(Integer::parseInt)
                                   .toArray();
                result.list.add(new ImageMatrix(data, classCode));
            }
        }
        return result;
    }


    public Iterator<ImageMatrix> iterator() {
        return this.list.iterator();
    }

}
ImageMatrixDB.java

public class ImageMatrix {
    int[] data;
    int classCode;
    public ImageMatrix(int[] data, int classCode) {
        assert data.length == 64;
        this.data = data;
        this.classCode = classCode;
    }

    public int[] getData() {
      return data;
    }

    public int getClassCode() {
     return classCode;
    }
}
import java.io.*;
import java.util.*;



public class ImageMatrixDB implements Iterable<ImageMatrix> {
    private List<ImageMatrix> list = new ArrayList<>;

    public static ImageMatrixDB load(File f) throws IOException {
        ImageMatrixDB result = new ImageMatrixDB();
        try (FileReader fr = new FileReader(f);
             BufferedReader br = new BufferedReader(fr)) {
            for (String line; null != (line = br.readLine()); ) {
                int lastComma = line.lastIndexOf(',');
                int classCode = Integer.parseInt(line.substring(1 + lastComma));
                int[] data = Arrays.stream(line.substring(0, lastComma).split(","))
                                   .mapToInt(Integer::parseInt)
                                   .toArray();
                result.list.add(new ImageMatrix(data, classCode));
            }
        }
        return result;
    }


    public Iterator<ImageMatrix> iterator() {
        return this.list.iterator();
    }

}
import java.io.*;
导入java.util.*;
公共类ImageMatrixDB实现了Iterable{
私有列表=新的ArrayList;
公共静态ImageMatrixDB加载(文件f)引发IOException{
ImageMatrixDB结果=新ImageMatrixDB();
try(FileReader fr=新的FileReader(f);
BufferedReader br=新的BufferedReader(fr)){
for(字符串行;null!=(line=br.readLine());){
int lastcoma=line.lastIndexOf(',');
int classCode=Integer.parseInt(line.substring(1+lastcoma));
int[]data=Arrays.stream(line.substring(0,lastcoma).split(“,”))
.mapToInt(整数::parseInt)
.toArray();
添加(新的ImageMatrix(数据,类代码));
}
}
返回结果;
}
公共迭代器迭代器(){
返回此.list.iterator();
}
}
我的问题源于以可读格式输出数据。我想知道是否有人能告诉我,当我试图加载文件时,会不断抛出错误,因此我的main应该是什么样子来输出数据

再次感谢