PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : if (xyz is in (1,2,3)) ... ?


BartS
12.05.2003, 09:29
Hallo,

wie kann ich feststellen, ob ein int-Wert in einer Menge von Werten liegt, z.B. {3,5,6,8,9,11,45,67,73}?
Ich suche irgend sowas wie if (myIntWert is in {3,5,6,8,9,11,45,67,73}) ...
Das muss es doch geben. Mir fällt nur nicht der richtige Syntax dafür ein.

Habt vielen Dank


Codeq
12.05.2003, 12:55
entweder stringmatching also vorher nen typecast machen nund jedes element des arrys mit dem gesuchten vergleichen oder besser nen werte matching . geht aber nur wenn das array geordnet ist.
weisst ja selbst bescheid ;) if grösser if kleiner bis du bei if == angekommen bist.

leider musste mit ner schleife die elemente durchgehen..

MrEasy
12.05.2003, 14:54
pack die zu prüfenden werte in nen vector oder ne list rein, dann kannste z.B. mit Vector.containsElement(Object) checken, ob es drin is

DarkTom
12.05.2003, 18:12
Hmm, in deinem Beispiel ist der Array ja sortiert. Da geht das ganz einfach (und schnell) über binäre Suche. Die ist zum Glück schon Teil der API:

if (Arrays.binarySearch(deinArray, element) >= 0) System.out.println("enthalten");