簡體   English   中英

Java的隨機變量除法

[英]Division of random variables java

我的代碼中有一個奇怪的邏輯錯誤,不允許我划分變量。

if (cWeapon == soulSteeler){
            lifeTake = damageDealt / 10;
            lifeTake += health;
        }

在這里,我嘗試將所造成的損害進行划分,並將其添加到我的健康中。 我將自己的int更改為floatlifeTake damageDealthealth因為我知道我可以得到一些小數。

當我這樣做時,什么也沒發生,而且我似乎找不到答案,所以我決定自己問。 在此先感謝,威爾

像這樣嘗試:

// 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM