对于10和50的每个倍数做一些事情

时间:2012-04-29 06:28:15

标签: java

我是Java,我想知道如何做到这一点。这是我迄今为止的一个小例子,但我必须用50做同样的事情。所以问题就出现了。

if(taskCompleted/10 == Math.round(Math.random()){
taskPoints = 20;
} else if(taskCompleted/50 == Math.round(Math.random()){
taskPoints = 60;
}

否则我可以用语言解释:

每次taskCompleted等于10的倍数(10,20,30,40等...),taskPoints等于20,否则如果taskCompleted每次等于50(50,100,150,200)的倍数,则taskPoints等于60。

我希望你明白我想做什么。

4 个答案:

答案 0 :(得分:6)

if(taskCompleted % 50 == 0){
   taskPoints = 60;
} else if(taskCompleted % 10 == 0){
   taskPoints = 20;
}

使用将返回余数的模数。这将解决您的问题。仔细查看条件,我在检查10之前检查50.因为50的任何倍数也是10的倍数。所以如果你放10,你将永远不会达到50。

答案 1 :(得分:4)

if(taskCompleted % 50 == 0){
       //do something
}else if(taskCompleted % 10 == 0){
       //do something
}

答案 2 :(得分:3)

与之前的答案类似,但嵌套它们的效率更高。它不能是50的倍数,除非它是10的倍数。

if (taskCompleted % 10 == 0)
   taskPoints = taskCompleted % 50 == 0 ? 60 : 20;

答案 3 :(得分:2)

if(taskCompleted % 10 == 0) { 
    taskPoints = 20;
}
if(taskCompleted % 50 == 0) { 
    taskPoints = 60;
}