作为我的第一个项目,我正在为我的Cricket游戏制作统计程序。
我遇到的问题是在板球中有6个球,保龄球符号为“overs.ballnumber”。例如,如果我已经打了4个球并且在新的比赛中有3个球,则表示将是4.3
我需要知道的是,一旦到达第6球,我将如何设置一个到下一轮的数字。
E.g。 4.6过剩应该最多为5
答案 0 :(得分:1)
以下程序演示了如何评估值的小数部分;
public class Test {
public static void main(String[] args) {
double roundedUp=Math.ceil(4.1);
System.out.println(shouldBeRoundedUp(2.2,0.5));
System.out.println(shouldBeRoundedUp(2.7,0.5));
}
public static boolean shouldBeRoundedUp(double value, double roundIfAbove){
double decimalPart=value%1; //this is the modulus operator, or remainder operator
if (decimalPart>roundIfAbove){
return true;
}else{
return false;
}
}
}
答案 1 :(得分:0)
听起来你需要一个Score类,如果我理解你想要能够增加球数,当它达到6时它应该实际重置为0并增加过量。我还假设您可以随时增加过量并将球数重置为0.可以修改此对象的字符串表示形式以包含“。”。在两个值之间。
public class Score {
int overs = 0;
int ballNumber = 0;
public void increaseBallNumber() {
if (++ballNumber == 6) {
ballNumber = 0;
++overs;
}
}
public void increaseOvers() {
++overs;
ballNumber = 0;
}
public String toString() {
return overs + "." + ballNumber;
}
}