我有一个csv文件如下:
Constraint,3
Op,M1,M2,M3,A1,A2,A3,
M1,0,0,0,7,2,2,
M2,0,0,0,5,4,0,
M3,0,0,0,5,2,0,
A1,0,0,0,3,3,0,
A2,0,0,0,1,1,0,
A3,0,0,0,1,0,0,
Constarint = 3意味着我有M1,M2,M3(三个乘法器)和A1,A2,A3(三个加法器)。
每个单元格的值对应于上面给定的两个运算符 例如:(M1,A1)的值为7
我已经编写了一个java代码来逐行读取这个文件,但为了进一步编码,我需要按如下方式读取该文件:
M1 M1 0
M1 M2 0
M1 M3 0
M1 A1 7
依旧......
如何阅读如上所示的文件,我可以将其存储在地图或二维数组中吗? 由于我对编程很新,所以在这方面的任何帮助都会很棒。
提前干杯谢谢!
答案 0 :(得分:0)
您可以使用2D字符串数组轻松完成。您必须逐行扫描文件并提供2D数组中的值。稍后您可以编写一个函数来打印所需格式的值。
以下是代码段:
public static void main (String[] args)
{
Scanner in = new Scanner(System.in);
String[][] matrix = new String[7][7];
/* Set Values */
for(int i = 0; i < 7; i++) {
matrix[i] = in.nextLine().split(",");
}
/* Print Function */
for(int i = 1; i < 7; i++) {
for(int j = 1; j < 7; j++) {
System.out.println(matrix[i][0] + " " + matrix[0][j] + " " + matrix[i][j]);
}
System.out.println();
}
}
输出:
M1 M1 0
M1 M2 0
M1 M3 0
M1 A1 7
M1 A2 2
M1 A3 2
M2 M1 0
M2 M2 0
M2 M3 0
M2 A1 5
M2 A2 4
M2 A3 0
...