2012-04-29 2 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), тогда очки задач равны 60.

Надеюсь, вы понимаете, что я хочу делать.

+1

И почему случайные числа? Также, если мы пренебрегаем ими, вы уже реализовали свою цель. Так в чем вопрос? –

+0

Может быть, [John] (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, если его кратность не равна 10.

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

Я не могу понять, как это будет более эффективно. Выше кода всегда будет два сравнения для кратных 50, так как кратное 50 также кратно 10. Вы можете сказать, что он более изящный, хотя ... :) – havexz

+0

Предполагая, что большинство чисел не кратно 10. например. 9/10 случайных чисел, есть только одна проверка. –

+0

gotcha .... вопрос не очень ясен относительно возможных значений 'taskCompleted'. +1 Хорошая альтернатива, хотя ... – havexz

Смежные вопросы