【发布时间】:2018-10-29 07:04:33
【问题描述】:
这绝对是一个逻辑问题,但我似乎无法解决这个问题:
我有一个 .txt 文件,我正在读入由 1 和 0 组成的整个字母表,例如,在 .txt 文件中这是一个 B 后跟一个 C:
0 0 1 1 1 1 0 0 0
0 0 1 0 0 0 1 0 0
0 0 1 1 1 1 0 0 0
0 0 1 0 0 0 1 0 0
0 0 1 1 1 1 0 0 0
0 0 0 1 1 1 0 0 0
0 0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0
0 0 0 1 1 1 0 0 0
您可以按照 1 来辨认字母。 我需要做的是将这些字母中的每一个读入一个数组字母表中,每个字母都由一个空行分隔,并且字母必须遵循这种格式。这是一个 5x9 的数字矩阵,我需要将其转换为 45 x 1 数组并将其存储在 26 个字母的字母数组中。
这是一个光学字符识别神经网络,我必须使用硬编码数字,但从文件中读取数据已被证明是技巧。
这是我目前所拥有的:
String[][] alphabet = new String[26][45];
float [][] trainingDataFile = new float[26][45];
int row = 0;
Scanner file = new Scanner(new BufferedReader(new FileReader("Alphabet.txt")));
/*
While the file has another line, read in data until empty line.
*/
while(file.hasNextLine())
{
String line = file.nextLine();
if(line.length() != 0)
{
String[] letters = line.split(" ");
alphabet[row] = letters;
} else {
row++;
}
}
在我的脑海中,算法会: 读入数据并追加到字符串直到空行然后递增到下一个字母。
但我不知道如何将其转换为代码。 我似乎无法弄清楚如何继续阅读单个字母的块直到一个空行。
【问题讨论】: