java将通过Arduino串行发送的字符串转换为处理
我从Arduino发了一条线。 绳子看起来像这样
2,0/3,0/4,0/5,0/6,0/7,0/8,1/9,1/10,1/11,1/12,1/13,1/
其中第一个数字是Arduino管脚,然后由一个角隔开,然后管脚状态1=高0=低
这里是引脚2=低,引脚3=低。。。。引脚13=高
当这个字符串开始处理时,我需要将字符串拆分,并将值分配给对应于管脚的变量
差不多
int p2=0; int p3=0; .. .. .. int pin8=1
实现这一目标的有效方法是什么
我在这里得到的信息就是我所做的
rawInput = "2,0/3,0/4,0/5,0/6,0/7,0/8,1/9,1/10,1/11,1/12,1/13,1";
pinNumber = split(rawInput, '/');
for (int i =0; i < pinNumber.length; i++) {
pinValue = split(pinNumber[i], ",");
hm.put(Integer.parseInt(pinValue[0]), Integer.parseInt(pinValue[1]));
}
这里有什么明显的缺陷吗?看起来很有效
# 1 楼答案
除了存储为HashMap之外。可以通过
",/"
将字符串拆分为字符串数组。然后在你的模式中,偶数索引是你的管脚号,奇数索引是你的管脚值。一个循环可以很快实现这一点