第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

調(diào)用方法輸出問題

public class Phone {

//屬性

float screen;

float cpu;

float mem;

public Phone(){

System.out.println("無參構(gòu)造器執(zhí)行!");

}

public Phone(float newScreen,float newCpu,float newMem){

if (newScreen<3.5f) {

System.out.println("輸入有誤,自動賦值3.5");

screen = 3.5f;

} else {

screen = newScreen;

}

screen = newScreen;

cpu = newCpu;

mem = newMem;

System.out.println("尺寸:"+screen+"cpu:"+cpu+"mem"+mem+"有參構(gòu)造器執(zhí)行了");

}

}

尺寸:1.0cpu:2.0mem2.0有參構(gòu)造器執(zhí)行了


輸出結(jié)果為什么不對了 ??幫忙給解釋一下

正在回答

2 回答

你的代碼是沒有問題的,但是你給的這個(gè)代碼是沒有main函數(shù)的。在main函數(shù)中調(diào)用構(gòu)造方法時(shí),要依據(jù)調(diào)用方法的參數(shù)而定.

譬如你的第一個(gè)無參數(shù)方法就是new Phone();

第二個(gè)就要給它參數(shù) new Phone(1.0f,2.0f,3.0f)。

然后你在代碼中有一個(gè)判斷:

if (newScreen<3.5f) {

System.out.println("輸入有誤,自動賦值3.5");

screen = 3.5f;

} else {

screen = newScreen;

}

如果你輸入1.0f,2.0f,3.0f,它執(zhí)行判斷之后會把screen從你賦值的1.0f 重新賦值為3.5f,然后else那一句會跳過不執(zhí)行,這個(gè)是沒毛病的。

但是你在后面有一句

screen = newScreen,這個(gè)是把你輸入的1.0f再次賦給screen,所以你輸出之后還會是1.0f, 2.0f, 3.0f。

下面的是我改的代碼:

public class Phone {
?//屬性
?float screen;
?float cpu;
?float mem;
?public Phone(){
?System.out.println("無參構(gòu)造器執(zhí)行!");
?}
?public Phone(float newScreen,float newCpu,float newMem){
?if (newScreen<3.5f) {
?System.out.println("輸入有誤,自動賦值3.5");
?screen = 3.5f;
?} else {
?screen = newScreen;
?}
?//screen = newScreen;//把這一行去掉,試一下效果
?cpu = newCpu;
?mem = newMem;
?System.out.println("尺寸:"+screen+"cpu:"+cpu+"mem"+mem+"有參構(gòu)造器執(zhí)行了");
?}
?public static void main(String[] args) {
??new Phone();
??new Phone(1.0f,6.0f,8.1f);//直接傳參數(shù),也可以是變量賦值傳參數(shù)
?}
?}

希望對你有幫助!^-^

0 回復(fù) 有任何疑惑可以回復(fù)我~

screen = newScreen;這句話多輸入了一次

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

承諾太虛偽 提問者

我知道 所輸了一次 ,可是else 里面已經(jīng)給screen重新賦值了,下來再運(yùn)行一遍 怎么會不對呢?
2017-05-06 回復(fù) 有任何疑惑可以回復(fù)我~
#2

qq_噴泉_0 回復(fù) 承諾太虛偽 提問者

在if...else...語句中已經(jīng)重新對screen賦值了,若在if...else...語句外重新使用screen = newScreen;表示又一次將傳入的值賦給screen,覆蓋了前面的判斷,也就是判斷無效了,最后輸出依然是傳入的值
2017-05-16 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
Java入門第二季 升級版
  • 參與學(xué)習(xí)       531098    人
  • 解答問題       6280    個(gè)

課程升級!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會Java面向?qū)ο缶幊痰膴W妙

進(jìn)入課程

調(diào)用方法輸出問題

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號