【发布时间】:2020-08-11 00:41:31
【问题描述】:
首先,感谢您花时间解决这个问题。我根据自己的知识尝试过,但找不到修改的地方。我做了一个游戏,最后我必须将格式化的字符串返回到终端。
当我将基本字符串连接更改为格式化字符串时出现异常。我不知道如何解决它。
-
players是播放器数组。 -
WinRatio是score(int) 除以gamePlayed(int),四舍五入为整数。
这是我的代码的一部分。
public static void searchAndPrintRankingDataDesc() {
NimPlayer [] players = NimPlayer.getPlayer();
Arrays.sort(players, Comparator.comparing((NimPlayer::getWinRatio)).reversed().thenComparing(NimPlayer::getUserName));
Arrays.stream(players).forEach(System.out::println);
还有我的 toString 方法:
public String getWinRatio() {
return Integer.toString(Math.round(Float.valueOf(getScore())/ (getGamePlayed())*100));
}
public String toString() {
return String.format( "%02d" +"% | "+ "%02d" +" games | "+ "%s " + "%s", getWinRatio(), gamePlayed, givenName, familyName);
}
【问题讨论】:
-
谢谢,但还有另一个用于 illegerConversion 的弹出窗口。我将
getWinRatio改回 int 类型。问题解决了。谢谢@Renato