2017-05-21 18 views
-1

私は自分のゲームにユーザーの成績のパーセンテージ(%)を与えようとしていますが、私は0%を得続けます。ユーザーの成績をパーセンテージでどのように計算するのですか?

は、ここに私のコードです:

int win = 2 
int Percentage = win/5; 
System.out.println(); 
System.out.println("Your score is : " + win + "/" + "5" + "(" + Percentage *100 + "%" + ")"); 

コンソールYour score is : 2/5(0%)あなたはこのために、二重(浮動小数点)算術演算を使用する必要が

+1

double Pourcentage = win/5.0; –

+0

[なぜ1/3 == 0の結果になるのですか?](http://stackoverflow.com/questions/4685450/why-is-the-result-of-1-3-0) – Li357

答えて

6

。 FYI/5.0はintをdoubleに変換します

double Pct = win/5.0; 
+0

ありがとう非常に、それは働いた! なぜintを使用しないと説明できますか? – Crypto

+0

最初に100を掛けてint演算を行うことができます(2桁の精度に過ぎません)。しかしそれ以外の場合は、整数は正(正と負)の整数とゼロです – ControlAltDel

+0

私は20%を20%に変更しますか? – Crypto

1

Integerの型は整数のみにすることができます。パーセンテージを作成する場合は、Doubleタイプを使用する必要があります。 \nを使用して、印刷結果に新しい返品行を作成することもできます。

double win = 2.0; 
double percentage = (win/5) * 100; 
System.out.println("\n\n Your score is: " + win + "/5 (" + percentage + "%)"); 
+0

ダブルはタイプではなく、クラスです。二重(プリミティブ)はDoubleよりも適切です – ControlAltDel

+0

改行を作るために\ nを追加するのは忘れてしまいます。ありがとう! :) – Crypto

+0

@ControlAltDelあなたは正しいです。私の間違い。ダブルプリミティブを使用するように編集しました。 – JTMKoenig

関連する問題