1

私は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

4 に答える 4

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

剰余を返すモジュラスを使用します。それはあなたの問題を解決します。状態を注意深く見てください。10をチェックする前に50をチェックしています。50の倍数は10の倍数でもあるため、10を入れても50に達することはありません。

于 2012-04-29T06:31:36.123 に答える
4
if(taskCompleted % 50 == 0){
       //do something
}else if(taskCompleted % 10 == 0){
       //do something
}
于 2012-04-29T06:31:06.727 に答える
3

それらをネストする方が効率的であることを除いて、以前の回答と同様です。10の倍数でなければ50の倍数にはなりません。

if (taskCompleted % 10 == 0)
   taskPoints = taskCompleted % 50 == 0 ? 60 : 20;
于 2012-04-29T08:04:16.923 に答える
2
if(taskCompleted % 10 == 0) { 
    taskPoints = 20;
}
if(taskCompleted % 50 == 0) { 
    taskPoints = 60;
}
于 2012-04-29T06:33:19.707 に答える