Frage

Wie kann ich überprüfen, ob eine Bedingung mehrere Werte geht?

Beispiel:

if(number == 1,2,3)

Ich weiß, dass Kommas nicht funktionieren.

War es hilfreich?

Lösung

if (number == 1 || number == 2 || number == 3)

Andere Tipps

Wenn Sie PHP verwenden, dann nehme Ihre Liste von Zahlen ist ein Array

$list = array(1,3,5,7,9);

dann für jedes Element, können Sie

if(in_array($element, $list)){
//Element present in list
}else{
//not present.
}

Funktionsstruktur:

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

Ich hoffe, das hilft.

if ((number >= 1) && (number <= 3))

Was Sprache?

Zum Beispiel in VB.NET verwenden Sie das Wort OR, und in C # verwenden Sie ||

Da Sie keine Sprache angeben, füge ich eine Python-Lösung:

if number in [1, 2, 3]:
    pass

In T-SQL können Sie den IN-Operator verwenden:

select * from MyTable where ID in (1,2,3)

Wenn Sie eine Sammlung verwenden es kann ein Operator enthält für eine andere Art und Weise, dies zu tun.

In C # für eine andere Art und Weise, die einfacher sein kann Werte hinzufügen:

    List<int> numbers = new List<int>(){1,2,3};
    if (numbers.Contains(number))

Ich werde eine C-Style Sprache annehmen, hier eine schnelle Grundierung auf IF und ODER-Logik:

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)
}

So können Sie sehen, wie Sie diese Kontrollen Kette zusammen einige ziemlich komplexe Logik zu erstellen.

Für eine Liste von ganzen Zahlen:

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);
    }

In Java haben Sie Objekte, die Wrap primitive Variablen (Integer für int, Lange für lange, etc). wenn Sie Werte zwischen vielen kompletten Zahlen (Ints) zu buchen, zu vergleichen, was Sie tun können initiieren eine Reihe von Integer-Objekte, Sachen sie innerhalb eines iterable wie eine Arraylist, Iterierte über sie und vergleichen.

so etwas wie:

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
    }
}

natürlich für einige Werte dies ein wenig sperrig sein kann, aber wenn man gegen viele Werte vergleichen wollen, wird es funktionieren gut.

Eine weitere Möglichkeit ist die Verwendung von Java Sets Sie viele verschiedene Werte platzieren können (die Sammlung Ihre Eingabe sortieren wird, was ein Plus ist) und dann rufen Sie die .contains(Object) Methode Gleichheit zu suchen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top