運(yùn)行結(jié)果怎么都是0.0呢???
public class three1 {
?? ?float LED;
?? ?float mem;
?? ?float CPU;
?? ?//public three1(){
?? ?//?? ?System.out.println("無(wú)參的構(gòu)造方法執(zhí)行了");
?? ?//};
?? ?public three1(float newLED,float newMem,float newCPU){
?? ??? ?if (LED < 3.5f){
?? ??? ??? ?newLED = 3.5f;
?? ??? ??? ?System.out.println("自動(dòng)賦值為:3.5");
?? ??? ?}
?? ??? ?else{
?? ??? ??? ?newLED=LED;
?? ??? ?}
?? ??? ?newMem = mem;
?? ??? ?newCPU = CPU;
?? ??? ?System.out.println("有參的構(gòu)造方法執(zhí)行了"+"LED:"+newLED+"mem:"+newMem+"CPU:"+newCPU);
?? ??? ?
?? ?}
}
??? public static void main(String[] args) {
?? ??? ?// TODO Auto-generated method stub
?? ??? ?//three1 fun = new three1();
?? ??? ?three1 fun2 = new three1(4.0f,4.5f,6.4f);
?? ?}
自動(dòng)賦值為:3.5
有參的構(gòu)造方法執(zhí)行了LED:3.5mem:0.0CPU:0.0
2018-07-29
要先賦值
2017-06-17
if (newLED < 3.5f){
? ? ? ? ? ? LED = 3.5f;
?? ??? ??? ?System.out.println("自動(dòng)賦值為:3.5");
?? ??? ?}
?? ??? ?else{
? ? ? ? ? ? LED=newLED;
?? ??? ?}
? ? ? ? mem = newMem;
? ? ? ? CPU = newCPU;
?? ??? ?System.out.println("有參的構(gòu)造方法執(zhí)行了"+"LED:"+LED+"mem:"+mem+"CPU:"+CPU);
變量賦值寫(xiě)反了
2017-06-16
這個(gè)吧就是你沒(méi)看清楚變量把。fun2 傳遞過(guò)去的參數(shù)分別給了? ??
newLED,newMem,newCPU這三個(gè),他們?nèi)齻€(gè)都有值了也就是4.0f,4.5f,6.4f
? ? ? ? newMem = mem;這句話的意思 把上面定義的成員變量mem為默認(rèn)值0賦給了newMem,
????其他的都是這個(gè)意思,所以是0
2017-05-25
因?yàn)槟阗x值4.0,4.5,6.4的時(shí)候是給newLED,newMem,newCPU賦的,但是比較的時(shí)候卻又是與LED比較的,所以系統(tǒng)會(huì)自動(dòng)賦值0與3.5比較,其他兩個(gè)問(wèn)題也是一樣的,都是把順序給弄反了,應(yīng)該是:mem=newMem;?CPU=newCPU;不然的話都是把系統(tǒng)自動(dòng)賦值0給了newMem和newCPU。
2017-05-25
構(gòu)造函數(shù)寫(xiě)錯(cuò)了,這樣寫(xiě)
?public three1(float newLED,float newMem,float newCPU){
?? ??? ?if (newLED< 3.5f){
?? ??? ??? ?LED= 3.5f;
?? ??? ??? ?System.out.println("自動(dòng)賦值為:3.5");
?? ??? ?}
?? ??? ?else{
? ? ? ? ? ? LED=newLED;
?? ??? ?}
? ? ? ? mem=newMem;
? ? ? ? ?CPU=newCPU;
?? ??? ?System.out.println("有參的構(gòu)造方法執(zhí)行了"+"LED:"+LED+"mem:"+Mem+"CPU:"+CPU);
?? ??? ?
?? ?}
}