Как проверить, проходит ли состояние нескольких значений?Проверьте, имеет ли переменная какое-либо значение из заданного набора
Пример:
if(number == 1,2,3)
Я знаю, что запятые не работают.
Как проверить, проходит ли состояние нескольких значений?Проверьте, имеет ли переменная какое-либо значение из заданного набора
Пример:
if(number == 1,2,3)
Я знаю, что запятые не работают.
if (number == 1 || number == 2 || number == 3)
спасибо, umm дополнительных символов необходимо. – Phil
Есть ли более умный и приятный способ использования Java? например что-то вроде истечения: if (var in {1,2,3,6,8}) {blah blah blah} –
Какой язык?
Например, в VB.NET вы используете слово OR, а в C# вы используете ||
В T-SQL можно использовать оператор IN:
select * from MyTable where ID in (1,2,3)
Если вы используете коллекцию может быть содержит оператор другой способ сделать это.
В C# другой способ, который может быть проще добавлять значения:
List<int> numbers = new List<int>(){1,2,3};
if (numbers.Contains(number))
Поскольку вы не указали ни одного языка, я добавляю решение Python:
if number in [1, 2, 3]:
pass
Я предположу С-Style язык, вот быстрый праймер в логике IF AND OR:
if(variable == value){
//does something if variable is equal to value
}
if(!variable == value){
//does something if variable is NOT equal to value
}
if(variable1 == value1 && variable2 == value2){
//does something if variable1 is equal to value1 AND variable2 is equal to value2
}
if(variable1 == value1 || variable2 = value2){
//does something if variable1 is equal to value1 OR variable2 is equal to value2
}
if((variable1 == value1 && variable2 = value2) || variable3 == value3){
//does something if:
// variable1 is equal to value1 AND variable2 is equal to value2
// OR variable3 equals value3 (regardless of variable1 and variable2 values)
}
if(!(variable1 == value1 && variable2 = value2) || variable3 == value3){
//does something if:
// variable1 is NOT equal to value1 AND variable2 is NOT equal to value2
// OR variable3 equals value3 (regardless of variable1 and variable2 values)
}
Итак, вы можете видеть, как вы можете объединить эти проверки вместе для создания довольно сложной логики.
Для получения списка целых чисел:
static bool Found(List<int> arr, int val)
{
int result = default(int);
if (result == val)
result++;
result = arr.FindIndex(delegate(int myVal)
{
return (myVal == val);
});
return (result > -1);
}
Если вы используете PHP, то предположим, что ваш список чисел является массивом
$list = array(1,3,5,7,9);
то для любого элемента, вы можете использовать
if(in_array($element, $list)){
//Element present in list
}else{
//not present.
}
Функциональная структура:
bool in_array (mixed $needle , array $haystack [, bool $strict = FALSE ])
Надеюсь, что это поможет.
В Java есть объекты, которые обертывают примитивные переменные (Integer для int, Long for long и т. Д.). если вы пытаетесь сравнить значения между множеством полных чисел (ints), то вы можете создать пучок объектов Integer, наполнить их внутри итерабельного, например ArrayList, перебрать их и сравнить.
что-то вроде:
ArrayList<Integer> integers = new ArrayList<>();
integers.add(13);
integers.add(14);
integers.add(15);
integers.add(16);
int compareTo = 17;
boolean flag = false;
for (Integer in: integers) {
if (compareTo==in) {
// do stuff
}
}
конечно несколько значений это может быть немного громоздким, но если вы хотите, чтобы сравнить с большим количеством значений, он будет работать хорошо.
Другой вариант - использовать java Sets, вы можете разместить множество разных значений (коллекция будет сортировать ваш вход, что является плюсом), а затем вызвать метод .contains(Object)
для определения равенства.
как вы можете найти такие старые вопросы? – Phil
Какой язык? – csl