我想从arduino读取四个循环测量的传感器,并希望在处理过程中显示这些值。
我的问题是,当我想要将数据字符串转换为数组时,我在处理代码中收到错误消息:“找不到名为' 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;
}
}
}
}发布于 2015-05-26 23:52:19
没有名为Array的类(嗯,有,但它不是您想要的)。这不是声明数组的方式。
通过使用所需的数组类型,然后使用方括号[]来声明数组变量。例如,您声明了这个变量:
String MessdatenSplit;这将MessdatenSplit变量声明为字符串,而不是字符串数组。相反,您可能需要以下内容:
String[] MessdatenSplit;然后,在初始化MessdatenSplit变量时,应该再次使用数组的类型,并且还应该使用方括号,并将数组的长度放在这些方括号中。这里你做的是正确的:
Natrium = new String[350];(不过,您缺少此变量的声明,因此需要将其添加进来才能真正起作用。)
上面的代码行创建了一个包含350个索引的字符串数组。但是在下面这一行中,以及在其他一些地方,您错误地初始化了它:
MessdatenSplit = new Array[1400];没有Array关键字。您需要使用数组的类型,如下所示:
MessdatenSplit = new String[1400];请注意,您还可以在一行中进行变量声明和初始化:
String[] MessdatenSplit = new String[1400];您可能希望重新开始并声明和初始化单个数组变量,然后运行它以确保它正常工作。然后添加下一个数组,并运行它以查看它是否工作。你遇到了麻烦,因为你试图一次编写并运行整个草图,而实际上你需要测试更小的步骤。此外,您应该尝试遵循标准的命名约定:变量和函数应该以小写字母开头。
https://stackoverflow.com/questions/30458242
复制相似问题