package?com.imooc.test;
public?class?EnergySystem?{
private?final?double[]?energyBoxs;
public?EnergySystem(int?n,double?initialEnergy){
this.energyBoxs?=?new?double[n];
for(int?i=0;i<energyBoxs.length;i++){
energyBoxs[i]?=?initialEnergy;
}
}
public?void?Transfer(int?from,int?to,double?amount){
if(energyBoxs[from]<amount){
return;
}
energyBoxs[from]?=?energyBoxs[from]?-?amount;
energyBoxs[to]?=?energyBoxs[to]?+?amount;
/*System.out.print(Thread.currentThread().getName());
System.out.printf("從%d轉(zhuǎn)移%10.2f單位能量到%d",?from,?amount,?to);
System.out.printf("?能量總和:%10.2f%n",?getTotalEnergy());*/
System.out.print(Thread.currentThread().getName());
System.out.print("從"+from+"轉(zhuǎn)移"+amount+"單位能量到"+?to);
System.out.println("?能量總和:"+?getTotalEnergy());
}
public?double?getTotalEnergy(){
double?sum?=?0;
for?(double?d?:?energyBoxs)?{
sum?=?sum?+?d;
}
return?sum;
}
public?int?getBoxAmount(){
return?energyBoxs.length;
}
}為什么用printf打印的比print和println打印的更加規(guī)范(上面只是部分代碼,問(wèn)題發(fā)生在《深入淺出的多線程》的“線程交互汽車人的擔(dān)憂”那一課)視頻中用的是printf,而我用println之后發(fā)現(xiàn)結(jié)果有很大不同,問(wèn)題不是出在數(shù)值的精確度上(先無(wú)視精確度),這兩種打印方法打印出來(lái)的東西’結(jié)構(gòu)‘不同
添加回答
舉報(bào)
0/150
提交
取消