我正在进行一个项目,涉及使用串行连接(因此是 Jamod)和我遇到的编码
//7. Execute the transaction repeat times
//repeat =10 defined in point 1. (go to the source to read the code)
int k = 0;
do {
trans.execute();
res = (ReadInputRegistersResponse) trans.getResponse();
for (int n = 0; n < res.getWordCount(); n++) {
System.out.println("Word " + n + "=" + res.getRegisterValue(n));
}
k++;
} while (k < repeat);
[来源:http://jamod.sourceforge.net/kb/serial_master_howto.html ,要真正理解这个问题,我认为你们可能需要阅读整个示例]
我的问题是为什么它会重复交易? 这对我来说没有任何意义,因为重复变量是从放置在 main 中的参数中获取的,并且正如教程所说,它是可选的。 总而言之,为什么会重复出现?
任何帮助将不胜感激!
最佳答案
因为重复是可选的,所以默认情况下它可能是 0。如果你给出它,循环将执行精确的“重复”次数。使用默认值,代码可能只会执行一次(因为重复将为 0)
do-while 结构确保您无需在 for 循环的保护中执行任何魔法即可至少执行一次。
关于java - Jamod(modbus,Java)大师编程,为什么会重复事务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8259130/