2014-10-18 59 views
2

這是我的程序的一部分。我必須確定氣體量不會超過最高氣體容量。我不知道如何寫其他部分?我要求用戶輸入當前的氣體,它應該是小於或等於30如何在訪問器中使用if-else語句?

private final int GAS_CAP = 30 

    public int getGasCapacity(int gasCapacity) 
    { 
     if(currentGas <= GAS_CAP) 
     { 
     gasCapacity = GAS_CAP - currentGas; 
     } 
     else gasCapacity = currentGas; 
     return gasCapacity; 
    } 
+3

你不知道別人什麼** **? – 2014-10-18 19:49:36

+0

那麼究竟是什麼問題,@JayLo? – Mureinik 2014-10-18 19:50:41

+3

什麼是'currentGas'?你爲什麼要修改方法參數? – 2014-10-18 19:51:24

回答

1
private final int GAS_CAP = 30 

public int getGasCapacity() 
{ 
    int gasCapacity; 
    if(currentGas <= GAS_CAP) 
    { 
    gasCapacity = GAS_CAP - currentGas; 
    } else { 
    gasCapacity = 0; 
    } 
    return gasCapacity; 
} 

你else語句是錯誤的,不應該有一個參數。 你也可以很容易地用一行來完成,但我不確定你是否知道如何使用三元語法。

+0

你需要關閉else塊 – 2014-10-18 19:55:48

+0

是的,你是對的,這是我得到的嘗試添加代碼在文本框本身!哈哈@PrasadKhode – Tetramputechture 2014-10-18 19:56:26

+0

爲什麼要將'gasCapacity'初始化爲'GAS_CAP'?如果你離開初始化,編譯器會確保你在每個代碼路徑中設置'gasCapacity'。 (你也可以聲明它是'final',這樣編譯器會確保你在每個代碼路徑中只設置一次。) – ruakh 2014-10-18 20:01:30

0

首先,你應該讓你的問題更清楚一點,因爲我不太明白你想要做什麼。我會寫你想要達到的目標,並告訴我是否可以接受,或者評論答案中的錯誤。

private final GAZ_LIMIT = 30; 


public int ObserveGazCapacity(int gazCapacity) 
{ 

if(gazCapacity<=GAZ_LIMIT) 
{ 
    gazCapacity-=GAZ_LIMIT; 
}else{ 
    gazCapacity=0; //in case higher than limit, capacity will be at the maximum value permitted 
} 
return gazCapacity; 

}

公司希望你在找什麼!

0

可以在一個行作出,

public int getGasCapacity(){ 
    return (currentGas <= GAS_CAP ? (GAS_CAP - currentGas) : 0); 
}