2012-04-29 8 views
1

私はJavaであり、私はどのようにそれを行うことができるか知りたいと思います。ここでは私はこれまでのところ小さな例ですが、私は50で同じことをしなければなりません。だからここに問題があります。10と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に等しくなります。

私が何をしたいのか理解していただければ幸いです。余りが返され

+1

なぜ乱数ですか?また、それらを無視すれば、すでに目標を達成しています。だから質問は何ですか? –

+0

[ジョン](http://stackoverflow.com/users/1363819/john)はこのような乱数を使いたいと思うかもしれません:** 'if((taskCompleted = Math.round(Math.random()))% 10 == 0) '** –

答えて

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

このansは正しくない/完全ではありません。 – havexz

+0

ヒント:数字が50の倍数ですが、10の倍数ではありませんか? – 6502

+0

@havexzありがとう。 –

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

使用率。それがあなたの問題を解決します。条件を十分に確認してください、私は50の倍数として10をチェックする前に50をチェックしていますが、あなたが入れている場合も、10の倍数である10あなたはヒットすることは決してありませんを除いて、前の回答と同様に50

+0

+1。 – Blender

+1

本当ですか?これが問題でしたか?あなたは認定通訳者でなければなりません... –

+0

@BorisStrandjevよくある質問のこの部分は、 'それ以外の場合、私はそれを単語で説明することができます:' – havexz

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

それらを入れ子にする方が効率的です。その数の倍数でなければ50の倍数にすることはできません。

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

私はそれがより効率的になる方法を理解できません。上記のコードは、50の倍数に対して50の倍数として常に2つの比較を持ちます.10の倍数でもありますが、より洗練されていますが... :) – havexz

+0

ほとんどの数字は10の倍数ではないと仮定します。乱数の9/10は、チェックが1つしかありません。 –

+0

gotcha .... 'taskCompleted'の可能な値に関しては、質問はあまり明確ではありません。 +1良い方法ですが... – havexz

関連する問題