Java 比赛的平均分数。要么我除以零,要么我计算得太多
嘿,我需要一些快速的建议。我想计算游戏的平均分数,并在每一轮更新它,但我不能这样做正确Java 比赛的平均分数。要么我除以零,要么我计算得太多,java,function,average,Java,Function,Average,嘿,我需要一些快速的建议。我想计算游戏的平均分数,并在每一轮更新它,但我不能这样做正确 private void updateAverage(GLabel average) { average.setLabel(String.valueOf("Avg: " + String.valueOf((int)((AI_SCORE + PLAYER_SCORE) / TOTAL_GAMES)))); average.setLocation(getWidth()
private void updateAverage(GLabel average) {
average.setLabel(String.valueOf("Avg: "
+ String.valueOf((int)((AI_SCORE + PLAYER_SCORE) / TOTAL_GAMES))));
average.setLocation(getWidth() / 2 - average.getWidth() / 2,
getHeight() - PADDING);
TOTAL_GAMES++;
}
这是我使用的代码。在第一轮之前,我也调用这个方法,将计数器放在屏幕上。如果我设置TOTAL\u GAMES=0代码>定义时,我得到0
错误。但如果我将其设置为1
,则平均而言是有缺陷的。我找不到合适的地方放TOTAL_GAMES++我试着把它放在检测游戏损失的方法中,在像上面的代码和其他一些代码一样提高了平均值之后,但每次平均值都计算错了
只需检查游戏总数
为==到0
private void updateAverage(GLabel average) {
if(TOTAL_GAMES == 0){
average.setLabel("0");
return;
}
average.setLabel(String.valueOf("Avg: "
+ String.valueOf((int)((AI_SCORE + PLAYER_SCORE) / TOTAL_GAMES))));
average.setLocation(getWidth() / 2 - average.getWidth() / 2,
getHeight() - PADDING);
TOTAL_GAMES++;
}
if语句将从上面的用户开始工作
看起来您正在将(AI_分数+玩家_分数)/(总游戏数)转换为整数,这将改变答案
如果total_games是全球性的,那么这应该很好。不确定为什么它是一个浮标。在第一回合之前的平均得分是多少?“Gabe AI和球员得分都是<代码> 0 <代码>,它是第一轮,所以我猜应该是<代码> 0 < /Cord>。那么,你的答案就这样。这很简单,我甚至没有考虑过。“我想我应该睡一觉。”有时候答案就在你面前。离开键盘一分钟,仔细思考你的问题,这会有帮助。无论如何,很乐意帮忙。