当我运行处理时,有时代码可以工作,很多时候我会收到错误"java.lang.NullPointerException:无法从对象数组加载“,因为"this.list”是空的。
我知道这是关于Null指针异常的,但是作为一个新手,我不知道如何重写来解决这个问题。
代码:
import processing.serial.*;
Serial port;
String[] list;
String myString = null;
int ai, bi;
void setup(){
fullScreen();
//size(800, 500);
port = new Serial(this, "COM6", 9600);
port.clear();
myString = port.readStringUntil('\n');
myString = null;
}
void draw(){
background(0);
textSize(30);
while (port.available() > 0) {
myString = port.readStringUntil('\n');
}
list = split(myString, ',');
float a, b;
PFont f = createFont("Arial", 64);
textFont(f);
textSize(90);
a = float(list[0]);
b = float(list[1]);
ai = round (a);
bi = round (b);
println("Displacement: " + ai + " mm " + "Pressure: " + bi + " kg");
text("Displacement: " + ai + " mm ", 10, 100);
text("Pressure: " + bi + " kg ", 10, 200);
}发布于 2022-08-15 23:18:15
我认为错误是因为当list[0]、list[1]为空时,您可以访问它。
试着改变
a = float(list[0]);
b = float(list[1]);至:
if (list != null){
a = float(list[0]);
b = float(list[1]);
}希望它能成功。
https://stackoverflow.com/questions/73367132
复制相似问题