В вашем коде есть много проблем, которые вам нужно решить:
A. Вместо печати заголовка следующим образом:
println(header[0] + " " + header[1] + " " + header[2] + " " + header[3] + " " + header[4]);
you может сделать это следующим элегантным способом:
println(String.join(" ", header));
B. Вам нужно объявить data
как new int[no-of-rows][no-of-columns]
, но вы сделали это наоборот. Более того, вместо использования жестко закодированного значения, такого как 5
, вы должны были использовать header.length
.
C. Печать data
также можно выполнить элегантно, используя String::join
так же, как это было сделано выше для печати header
.
Ниже приведен код, включающий следующие пункты:
String[][] data;
void setup() {
size(800, 600);
String[] lines = loadStrings("datasheet.csv");
println("there are " + lines.length + " lines");
String[] header = split(lines[0], ',');
println(String.join(" ", header));
data = new String[lines.length -1][header.length];
for (int i = 1 ; i < lines.length; i++) {
String[] dataStr = split(lines[i], ',');
data[i-1] = dataStr;
println(String.join(" ", dataStr));
}
}
Не стесняйтесь комментировать в случае любых сомнений / проблем .