Hallo alle miteinander, ich bekomme eine liste von Strings und möchte hieraus ein intervall von zahlen suchen. Das funktioniert auch schon wunderbar. Ich habe die Strings in Zahlen umgewandelt und dann mittels einer if-anweisung nach einem bestimmten intervall gesucht.
--> z.B. String number wird in long (Nrint) geparst
Code:
if ((Nrint > getlow) && (Nrint < gethigh)) {
//überprüfe, ob Zahl Noint in dem Zahlenbereich liegt, zwischen getlow und gethigh
.....
}
Mein Problem ist, das 20 stellen für die zahl (Noint) abdecken muss,(die intervalle haben auch 20 Stellen) ich aber mit long nur 19 abdecken kann. (Wenn ich für Noint, long benutze). Meine Frage ist, wie ich am besten 20 stellen abdecken kann?
das problem dabei tst nur, das ich prüfen muss, dass die zahl klienr größer als "getlow" und kleiner als "gethigh" ist. Das funktioniert mit compare leider nicht nicht. Wenn doch, wäre ich sehr dankbar wenn man mir das mal zeigen würde, danke!
warum denkst du, dass das mit compare nicht funktioniert?
was kann man denn stattdessen mit compare machen wenn nicht das?
natürlich kann man nur zwei Zahlen jeweils vergleichen,
aber so ist das bei einfachen int oder auch
das ist ja das problem, ich brauche etwas in diesem "format":
if(zahl > untereGrenze && zahl < obereGrenze){
schreibe die Zahlen die in desem Bereich, zwischen untereGrenze und obereGrenze liegen in eine Liste
}
Mit Compare vergleiche ich ja nur die Zahlen und wähle keinen bereich aus:
z.B.
bigintzahl.compareTo(biggetlow), würde ja bedeuten, dass ich die zahl mit biggetlow (eine einzige zahl) vergleiche, hierbei würde ja nur ein vergleich rauskommen. So etwas brauche ich aber nicht, sondern von ... bis.... ( also größer als, kleiner als).
Ich hoffe ich konnte das jetzt verständlich rüber bringen....
bei
if(zahl > untereGrenze && zahl < obereGrenze){
hast du genauso zwei Vergleiche:
if( vergleich1 && vergleich2){
also ist kein Problem, einfach nur zwei Zahlen zu vergleichen,
und compare liefert nicht einfach entweder gleich oder ungleich, sondern die komplette Information: kleiner, gleich oder größer
schau dir die Definition genau an oder überleg mal selber welche Fälle alls möglich sind mit dem int-Rückgabewert,
oder teste einfach mit Beispielzahlen, gib den Rückgaberwert mit System.out.println() aus
Schönheitsfehler der irgendwann unangenehm werden könnte:
nicht auf == 1 testen, könnte auch 2 oder mehr rauskommen, das ist ja (auf jeden Fall zumindest technisch) nicht verboten