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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我用無參帶返回方法做,為什么出現(xiàn)return b中的b未被定義呢?我前面已經(jīng)定義了,double b.

我用無參帶返回方法做,為什么出現(xiàn)return b中的b未被定義呢?我前面已經(jīng)定義了,double b.

慕少5814628 2018-03-02 11:26:51
查看完整描述

4 回答

已采納
?
onemoo

TA貢獻(xiàn)883條經(jīng)驗 獲得超454個贊

關(guān)鍵不在 b 沒有初值!


就像你在前面回答中的疑問“我的if結(jié)構(gòu)不能將b初始化嗎?我在if對b進(jìn)行了賦值了,為什么不可以呢?”

你想得沒錯。變量 b 在定義時沒有初始化,但后面 if 結(jié)構(gòu)將 b 初始化了的話是沒問題的!


但問題的關(guān)鍵是:你這個 if 結(jié)構(gòu)過于復(fù)雜,編譯器無法判斷出是否存在所有分支都跳過的可能性,所以它認(rèn)為存在 b 未初始化的風(fēng)險而報錯。

如果你把最后一個分支加上 else 語句(同時也在其中賦予 b 適合的值),編譯器可能就不會報錯了。因為很容易就能推斷出 if else 這樣的結(jié)構(gòu)中至少有一個分支會被執(zhí)行。


當(dāng)然這原因很可能是編譯器相關(guān)的。不過在可能的情況下,明確給予每個變量合適的初值確實是個好習(xí)慣。

查看完整回答
1 反對 回復(fù) 2018-03-02
?
非學(xué)霸

TA貢獻(xiàn)9條經(jīng)驗 獲得超0個贊

定義double的時候初始化一下,double b=0.0

查看完整回答
反對 回復(fù) 2018-03-03
?
慕絲8697856

TA貢獻(xiàn)2條經(jīng)驗 獲得超0個贊

薩芬的撒

查看完整回答
反對 回復(fù) 2018-03-03
?
hello_world_mk

TA貢獻(xiàn)13條經(jīng)驗 獲得超2個贊

一般在方法里定義變量的時候都要給他個初始值,除非你定義全局變量

查看完整回答
反對 回復(fù) 2018-03-02
?
BekeyChao

TA貢獻(xiàn)8條經(jīng)驗 獲得超8個贊

我建議你把方法改一下

public?double?price(double?a)?{
????if?(a?>=?200)?{
????????return?0.85?*?a;
????}?else?if(a?>=?100)?{
????????return?0.95?*?a;
????}?else?{
????????return?a;
????}
}

有確定的返回值時最好直接返回

查看完整回答
反對 回復(fù) 2018-03-02
?
qq_國寶_0

TA貢獻(xiàn)1條經(jīng)驗 獲得超0個贊

Java規(guī)定: 作為返回值的變量需要進(jìn)行初始化. 你需要類似這樣的初始化: double b = 0;

查看完整回答
反對 回復(fù) 2018-03-02
?
慕少5814628

TA貢獻(xiàn)1條經(jīng)驗 獲得超0個贊

圖片是這個

??

http://img1.sycdn.imooc.com//5a98c5e600017f3804690222.jpg

查看完整回答
反對 回復(fù) 2018-03-02
  • 4 回答
  • 0 關(guān)注
  • 2808 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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