2014-01-23 7 views
1

я работаю с базисным, если заявление, такие какцикл для заполнения, если параметры заявление

if(b==0 || b==2) 
{ 
    //do something 
} 

Проблема заключается в том, что, когда в использовании б может быть равна более чем 2-х целых чисел ... или меньше. Я пробовал писать.

if(
    /* for loop to check b against an ArrayList of ints adding || if iteration is anything but the ArrayLists size - 1 */ 
){ 
    //do something 
} 

Eclipse, очевидно, не позволит мне сделать это. есть ли способ работать с возможными различными числами b == 0 || b == 2 || b == ...?

** редактировать

, если заявление уже внутри для цикла, который перебирает б

+0

Я не совсем уверен, чего вы пытаетесь выполнить, но вы можете попробовать, если внутри цикла for, а не наоборот. – StephenTG

+2

Почему бы вам не добавить приемлемые числа в список , а затем сделать приемлемымNumbers.contains (b)? – Saket

+0

Как может 'b' быть равно более чем двум целым числам? Не представляет собой целое число? – crush

ответ

4

Вы можете создать список всех целых чисел, которые вы хотите проверить против, и использовать ;

List<Integer> values = Arrays.asList(0, 2, 5, 7); 
if (values.contains(b)) { 
    ... 
} 
+1

Почему бы не использовать 'HashSet'? Разве поиск не будет «O (1)», а вместо «O (n)»? – crush

+0

@crush: Я не думаю, что добавленная сложность гарантирует это здесь, но, конечно, вы могли бы использовать «HashSet» вместо этого, чтобы повысить производительность. – Keppil

+0

Это действительно сложнее? – crush

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