Domanda

Come posso verificare se una condizione supera più valori?

Esempio:

if(number == 1,2,3)

Lo so, le virgole non funzionano.

È stato utile?

Soluzione

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

Altri suggerimenti

Se si sta utilizzando PHP, quindi si supponga che l'elenco dei numeri è una matrice

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

allora per ogni elemento, è possibile utilizzare

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

Struttura Funzione:

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

La speranza che aiuta.

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

Che lingua?

Per esempio in VB.NET si utilizza la parola o, e in C # si utilizza ||

Dal momento che si specifica nessuna lingua aggiungo una soluzione Python:

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

In T-SQL è possibile utilizzare l'operatore IN:

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

Se si utilizza una collezione ci può essere un operatore contiene un altro modo per fare questo.

In C # per un altro modo che possa essere più facile per aggiungere i valori:

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

Si assume un linguaggio C-Style, ecco un rapido primer su SE E logica 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)
}

Quindi, si può vedere come è possibile concatenare questi controlli insieme per creare una logica piuttosto complessa.

Per un elenco di numeri interi:

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 hai oggetti che racchiudono variabili primitive (Integer per int, Long per long, ecc.).se cerchi di confrontare valori tra molti numeri completi (int), quello che puoi fare è avviare un gruppo di oggetti Integer, inserirli all'interno di un iterabile come un ArrayList, scorrere su di essi e confrontare.

qualcosa di simile a:

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

ovviamente per alcuni valori questo potrebbe essere un po' scomodo, ma se vuoi fare un confronto con molti valori, funzionerà bene.

Un'altra opzione è usare Java Imposta, puoi inserire molti valori diversi (la raccolta ordinerà il tuo input, il che è un vantaggio) e quindi invocare il metodo .contains(Object) Metodo per individuare l’uguaglianza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top