我有一個單位(士兵)類,其中包含一個 getAttackBonus() 方法和一個 getResistBonus() 方法。每次士兵攻擊或被攻擊時,這些都必須回傳不同的值。具體來說,例如 getResistBonus() 可以從 8 開始,但每次士兵受到攻擊時,它都會減少 2,直到達到某個值(例如 2 作為最終抵抗獎勵),它不再減少。我該怎么做呢?
目前我在我的方法中使用它,當我嘗試將它作為 JUnit 類進行測驗時它不起作用,它一直給我 6 作為整數:
public int getResistBonus() {
int resist = 8;
while(resist != 2) {
return resist -= 2;
}
return 2;
}
uj5u.com熱心網友回復:
您需要更改一些代碼。首先,您需要在實體級別定義抵抗,而不是方法級別。其次,最好使用 if 而不是 while,因為您沒有創建回圈,而僅檢查單個條件。
所以代碼可以類似于:
public class YourClass {
// Define resist at instance level
private int resist = 8;
....
public int getResistBonus() {
// Replace the while with an if
if (resist > 2) {
resist -= 2;
}
return resist;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/434130.html
上一篇:無法使用賽普拉斯加載特定URL
