private char whatThing() {
double random = Math.random();
String f = String.format("%.2f", random);
double formattedRandom = Double.parseDouble(f);
if(formattedRandom < 0.33) {
return 'R';
} else if(formattedRandom >= 0.33 && formattedRandom < 0.66) {
return 'P';
} else {
return 'S';
}
}
抛出 NumberFormatException 错误:
线程“main”中的异常 java.lang.NumberFormatException:对于输入字符串:“0.47”在 sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)在 sun.misc.FloatingDecimal.parseDouble(Unknown Source)在 java.lang.Double。 parseDouble(未知来源)在 RPSEngine.whatThing(RPSEngine.java:28)在 RPSEngine.(RPSEngine.java:8)在 RPSSheath.(RPSSheath.java:30)在 RPSSheath.main(RPSSheath.java:43)
要获得精确到小数点后两位的数字,需要指定以下表达式:
所以代码看起来像这样:
这一个做同样的事情,但以更简单的方式。