0

嗨,我正在使用我的 Arduino 处理来使用它们之间的串行通信。我对这部分代码有疑问:

void draw(){ 

  //read the string.
  pot = arduino.readStringUntil(10);

  //check for null values before casting to int
  if(pot != null){
    num = Integer.parseInt(pot); 

    //draw depending on values
    rect(0,0,100,100);
    text(pot, 0,0);
  }
}

num = Integer.parseInt(pot); 总是给我带来麻烦。我使用的字符串总是有问题。las 错误消息是NumberFormatExcepcion: For input string: "111"最后的数字是我要读取的数字(它是正确的)。但不知何故,我不能将该字符串转换为 int。错误消息中的数字末尾始终有一个空格。我试图删除它,但我不能。我用pot = pot.substring(0, pot.length()-1); pot = pot.replace(" ",""); . 但它不起作用。

4

1 回答 1

1

您应该尝试使用 String 类中的 trim 方法。

if(pot != null){
    pot = pot.trim()
    num = Integer.parseInt(pot);

希望这会对您有所帮助。

于 2013-10-17T18:37:54.320 回答