在Java中显示ImageMatrix数据的问题
目前,我有两个类ImageMatrix类和ImageMatrixDB类,它们基本上应该将一个8×8像素的矩阵构建到一个数组中,以便稍后进行操作。我正在使用一些数据集,我希望应用一些mahcine学习算法。(请参见和。)目前的java文件如下所示: ImageMatrix.java在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
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应该是什么样子来输出数据
再次感谢