まず、あちこちで使用するべきではありませんFloat
-必要ですfloat
; ここでボクシングをする必要はありません。
第二に、あなたはまったく使用していませx
んy
。
第三に、あなたが方程式を表現している方法は、少なくとも紛らわしいと思います. andに変更するだけで問題ない可能性もありますが、私は変更しません。あなたが自分自身を表現する方法全体を変更します。x
y
第 4 に、PascalCase でメソッド名を記述することにより、Java 命名規則に違反しています。また、スペルミスがあります。
これらすべてを修正すると、次のようになります。
public static float getPercentageCorrect(int questions, int correct) {
float proportionCorrect = ((float) correct) / ((float) questions);
return proportionCorrect * 100;
}
私は実際にこれを一般化します-それは「正しい答え」に固有のものではないため、合計からのスコアであるあらゆるものに使用できます:
/**
* Returns a proportion (n out of a total) as a percentage, in a float.
*/
public static float getPercentage(int n, int total) {
float proportion = ((float) n) / ((float) total);
return proportion * 100;
}
コメントで述べたように、これは次のように記述できます。
float proportion = (float) n / total;
...しかし、それを検証するための優先ルールを知る必要があります。除算のfloat
前に各オペランドを変換したいことを明確にするために、両方のキャストを明示的に含めました。