以特定模式读取csv文件并存储在地图或2D数组中

我有一个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 

等等….

如何读取如上所示的文件,我可以存储在地图或二维数组? 由于我对编程相当陌生,在这方面的任何帮助都会很棒。

欢呼声和感谢提前!

您可以使用2D String Array轻松完成。 您将不得不逐行扫描文件并在2D数组中input数值。 稍后,您可以编写一个函数来打印出所需格式的值。

这里是代码片段:

 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 ...