[英]Division of random variables java
我的代碼中有一個奇怪的邏輯錯誤,不允許我划分變量。
if (cWeapon == soulSteeler){
lifeTake = damageDealt / 10;
lifeTake += health;
}
在這里,我嘗試將所造成的損害進行划分,並將其添加到我的健康中。 我將自己的int
更改為float
以lifeTake damageDealt
和health
因為我知道我可以得到一些小數。
當我這樣做時,什么也沒發生,而且我似乎找不到答案,所以我決定自己問。 在此先感謝,威爾
像這樣嘗試:
// I assume these are not Strings. If they are, compare using equals
if (cWeapon == soulSteeler) {
lifeTake = damageDealt/10.0;
lifeTake += health;
}
就像Duffymo所說的那樣,DamageDealt可能是小於10的整數,這會使DamageDealt / 10始終為0。要解決此問題,請將10更改為10.0,或者將其強制轉換為float或double。 還可以將DamageDealt設為double或float值,以提供正確的結果。 還要確保lifeTake是float / double,否則您將遭受同樣的數據范圍縮小的困擾。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.