我想从arduino中读取四个循环测量传感器,并希望使用Processing显示值。
我的问题是,我收到错误消息:"找不到名为' Array'的类或类型"在我的处理代码中,我想将我的数据字符串转换为数组。
有人知道如何解决它吗?
import processing.serial.*;
Serial myPort;
String Messdaten;
String MessdatenSplit;
void setup () {
size(500, 500);
println(Serial.list());
myPort = new Serial(this, Serial.list()[0], 9600);
}
void draw(){
}
void serialEvent(Serial myPort){
if (myPort.available() > 0){
String Messdaten = myPort.readStringUntil(3000);
if (Messdaten != null){
trim(Messdaten);
String MessdatenSplit[] = split(Messdaten,",");
MessdatenSplit = new Array[1400];
Natrium = new String[350];
Kalium = new Array[350];
Lithium = new Array[350];
Kupfer = new Array[350];
for (n=0; n<350; n++){
Natrium[n] = 1+4*n;
}
for (k=1; k<350; k++){
Kalium[k] = 1+4*k;
}
for (u=2; u<350; u++){
Kupfer[u] = 1+4*u;
}
for (l=3; l<350; l++){
Lithium[l] = 1+4*l;
}
}
}
}
答案 0 :(得分:0)
没有名为Array的类(嗯,有,但它不是你想要的那个)。那不是你如何声明一个数组。
使用所需的数组类型声明数组变量,然后使用方括号[]。例如,您要声明此变量:
String MessdatenSplit;
这将MessdatenSplit
变量声明为String,而不是字符串数组。相反,你可能想要这个:
String[] MessdatenSplit;
然后当你初始化MessdatenSplit
变量时,你应该再次使用它的数组类型,你也应该使用方括号并将数组的长度放在那些方括号内。在这里你正确地做到了:
Natrium = new String[350];
(虽然,你错过了这个变量的声明,所以你需要添加它才能真正起作用。)
上面一行创建一个包含350个索引的String数组。但是在下一行,以及其他一些地方,你不正确地初始化它:
MessdatenSplit = new Array[1400];
没有Array
个关键字。你需要使用它的数组类型,如下所示:
MessdatenSplit = new String[1400];
请注意,您也可以在一行中执行变量声明和初始化:
String[] MessdatenSplit = new String[1400];
您可能希望重新开始并声明并初始化单个数组变量,然后运行它以确保它有效。然后添加下一个数组,并运行它以查看它是否有效。您遇到了麻烦,因为您正在尝试一次编写并运行整个草图,而实际上您需要测试更小的步骤。此外,您应该尝试遵循标准命名约定:变量和函数应以小写字母开头。