处理不显示数据值也不读取城市?

Processing not showing data values and not reading cities?

您好,我在处理不输出列数据的地方时遇到问题?它正在读取行,但在每一行中它输出为 0 除了 "Number" 即使其中有数据?

我也不知道如何分隔城市,因为它肯定不是一个 int 值?

我的代码:

int[][] data;

void setup() {

size(800, 600);

String[] lines = loadStrings("datasheet.csv");
println("there are " + lines.length + " lines");   

String[] header = split(lines[0], ','); 
println(header[0] + " " + header[1] + " " + header[2] + " " + header[3] + " " + header[4]);


data = new int[5][lines.length-1]; 

for (int i = 1 ; i < lines.length; i++) {
String[] dataStr = split(lines[i], ',');

data[0][i-1] = int (dataStr[0]);
data[1][i-1] = int (dataStr[1]);
data[2][i-1] = int (dataStr[2]);
data[3][i-1] = int (dataStr[3]);
data[4][i-1] = int (dataStr[4]);

println (data[0][i-1] + "  " + data[1][i-1] + "  " + data [2][i-1] + "  " + data [3][i-1] + "  " + 
data 
[4][i-1]);

}
}

您的代码中有许多问题需要解决:

A. 而不是按以下方式打印表头:

println(header[0] + " " + header[1] + " " + header[2] + " " + header[3] + " " + header[4]);

您可以通过以下优雅的方式进行操作:

println(String.join(" ", header));

B. 您需要将 data 声明为 new int[no-of-rows][no-of-columns] 但您已经以相反的方式完成了。此外,您应该使用 header.length.

而不是使用像 5 这样的硬编码值

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));
    }
}

如有任何问题,请随时发表评论 doubt/issue。