JavaEEGoodeHua
2018-06-25 17:11
public void transfer(int from, int to, double amount) {
if (energyBoxes[from] < amount) {
return; // 能量转出的单元不足时,终止本次操作,否则对我们盒子能量的转入和转出进行相应的加减
System.out.print(Thread.currentThread().getName());就这里
energyBoxes[from] -= amount;
System.out.printf("从%d转移%10.2f单位能量到%d", from, amount, to);
energyBoxes[to] += amount;
System.out.printf("能量总和:%10.2f%n", getTotalEnergies());
}
}
。。。return z之后的代码是不会被执行的,在return后面加个
}
然后去掉最后那个}
像这样:
public void transfer(int from, int to, double amount) { if (energyBoxes[from] < amount) { return; // 能量转出的单元不足时,终止本次操作,否则对我们盒子能量的转入和转出进行相应的加减 } System.out.print(Thread.currentThread().getName()); energyBoxes[from] -= amount;System.out.printf("从%d转移%10.2f单位能量到%d", from, amount, to); energyBoxes[to] += amount;System.out.printf("能量总和:%10.2f%n", getTotalEnergies()); }
视频中的if语句没有加{},你的加了,在return后面在一个},最后去掉一个}就不会报错了
深入浅出Java多线程
186088 学习 · 464 问题
相似问题