问答详情
源自:4-1 Java线程交互之汽车人之忧:消失的能量

为什么一直报错,这是什么情况

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());

}

}


提问者:JavaEEGoodeHua 2018-06-25 17:11

个回答

  • qq_V_186
    2018-11-11 15:02:14

    。。。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());
    }


  • 水月残阳下的梦7
    2018-06-29 13:49:33

    视频中的if语句没有加{},你的加了,在return后面在一个},最后去掉一个}就不会报错了