首先,你不应该到处使用Float
——你想要的float
;没有必要在这里打拳击。
其次,你根本没有使用x
和y
。
第三,我想说您表达方程式的方式至少令人困惑。有可能只是改成x
andy
就可以了,但我不会——我会改变你表达自己的整个方式。
第四,您在 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
之前将每个操作数转换为。