客户编号四舍五入

时间:2013-09-30 13:44:12

标签: java numbers javafx

作为我的第一个项目,我正在为我的Cricket游戏制作统计程序。

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

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

E.g。 4.6过剩应该最多为5

2 个答案:

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