亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

運行結果怎么都是0.0呢???

public class three1 {
?? ?float LED;
?? ?float mem;
?? ?float CPU;
?? ?//public three1(){
?? ?//?? ?System.out.println("無參的構造方法執行了");
?? ?//};
?? ?public three1(float newLED,float newMem,float newCPU){
?? ??? ?if (LED < 3.5f){
?? ??? ??? ?newLED = 3.5f;
?? ??? ??? ?System.out.println("自動賦值為:3.5");
?? ??? ?}
?? ??? ?else{
?? ??? ??? ?newLED=LED;
?? ??? ?}
?? ??? ?newMem = mem;
?? ??? ?newCPU = CPU;
?? ??? ?System.out.println("有參的構造方法執行了"+"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);
?? ?}

自動賦值為:3.5
有參的構造方法執行了LED:3.5mem:0.0CPU:0.0

正在回答

5 回答

要先賦值


1 回復 有任何疑惑可以回復我~

if (newLED < 3.5f){
? ? ? ? ? ? LED = 3.5f;
?? ??? ??? ?System.out.println("自動賦值為:3.5");
?? ??? ?}
?? ??? ?else{
? ? ? ? ? ? LED=newLED;
?? ??? ?}
? ? ? ? mem = newMem;
? ? ? ? CPU = newCPU;
?? ??? ?System.out.println("有參的構造方法執行了"+"LED:"+LED+"mem:"+mem+"CPU:"+CPU);

變量賦值寫反了

0 回復 有任何疑惑可以回復我~

這個吧就是你沒看清楚變量把。fun2 傳遞過去的參數分別給了? ??

newLED,newMem,newCPU這三個,他們三個都有值了也就是4.0f,4.5f,6.4f

? ? ? ? newMem = mem;這句話的意思 把上面定義的成員變量mem為默認值0賦給了newMem,

????其他的都是這個意思,所以是0

0 回復 有任何疑惑可以回復我~

因為你賦值4.0,4.5,6.4的時候是給newLED,newMem,newCPU賦的,但是比較的時候卻又是與LED比較的,所以系統會自動賦值0與3.5比較,其他兩個問題也是一樣的,都是把順序給弄反了,應該是:mem=newMem;?CPU=newCPU;不然的話都是把系統自動賦值0給了newMem和newCPU。

0 回復 有任何疑惑可以回復我~

構造函數寫錯了,這樣寫

?public three1(float newLED,float newMem,float newCPU){
?? ??? ?if (newLED< 3.5f){
?? ??? ??? ?LED= 3.5f;
?? ??? ??? ?System.out.println("自動賦值為:3.5");
?? ??? ?}
?? ??? ?else{
? ? ? ? ? ? LED=newLED;
?? ??? ?}
? ? ? ? mem=newMem;
? ? ? ? ?CPU=newCPU;
?? ??? ?System.out.println("有參的構造方法執行了"+"LED:"+LED+"mem:"+Mem+"CPU:"+CPU);
?? ??? ?
?? ?}
}

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

運行結果怎么都是0.0呢???

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號