2013-09-30 20 views
0

作为我的第一个项目,我为我的板球比赛制定了统计计划。客户数圆整

我碰到的问题是在板球有6球在保龄球符号是“overs.ballnumber”。例如,如果我已经打了4个圈,并在新的记录中打了3个球,将会是4.3

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

E.g. 4.6 overs应舍入为5

+0

发表您的请尝试,我们需要开始的地方 – Ron

+0

你总是希望围捕,或者只是在某些情况下 –

+0

问题是我不知道从哪里开始,因为它是一个SQLite数据基地,我使用SUM命令来添加所有总数。 正确的方向上的任何一点将是伟大的 –

回答

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

    } 
} 
+0

谢谢理查德,我会有一个玩耍,看看我得到了什么 –

0

这听起来像你需要一个分数级,如果我理解正确的话,你希望能够增加球号码,当它到达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; 
    } 
} 
+0

虽然这显然是正确的做法,我认为OP正在处理一些遗留数据 –