0

作为我的第一个项目,我正在为我的板球比赛编写一个统计程序。

我遇到的问题是在板球比赛中有 6 个球,保龄球符号是“overs.ballnumber”。例如,如果我打了 4 个球并且在新的 over 中打了 3 个球,则表示法将是 4.3

我需要知道的是,一旦到达第 6 个球,我将如何设置一个循环到下一个的数字。

例如 4.6 overs 应该四舍五入到 5

4

2 回答 2

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;
        }

    }
}
于 2013-09-30T13:55:07.220 回答
0

听起来您需要一个 Score 课程,如果我理解正确,您希望能够增加球数,当它达到 6 时,它实际上应该重置为 0 并增加 overs。我还假设您可以随时增加轮数并将球号重置为 0。可以修改此对象的字符串表示形式以包含“。” 2个值之间。

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;
    }
}
于 2013-09-30T14:14:33.650 回答