0

私の最初のプロジェクトとして、クリケット ゲームの統計プログラムをまとめています。

私が遭遇した問題は、クリケットでは、ボウリングの表記が「overs.ballnumber」であるオーバーに 6 つのボールがあることです。たとえば、4 オーバーをボウリングし、新しいオーバーで 3 ボールをボウリングした場合、表記は 4.3 になります。

私が知る必要があるのは、6 番目のボールに到達したら、次のオーバーに丸められる数をどのように設定するかということです。

たとえば、4.6 オーバーは 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 にリセットしてオーバーを増やす必要があります。また、いつでもオーバーを増やすことができ、ボールの数が 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 に答える