G
Guest
Gast
Guten Morgen zusammen,
genau genommen habe ich hier kein Problem, sondern möchte eher wissen welche meiner gefundenen Möglichkeiten die besser ist. Sollte jemand ne ganz andere Lösung haben lasse ich aber natürlich auch gerne belehren!
Also es ist so, dass ich einen 3stelligen String bekomme, der eine Zahl zwischen 1 und 999 enthalten kann. Ich brauche jetzt eine Prüfmethode, die FALSE zurück gibt, wenn die Zahl zwischen x70 und x94 liegt. Ansonsten soll die Methode TRUE zurück geben.
Meine Ansätze:
1a) String#endsWith("70") ..... und das ganze (also 24 mal) mit oder in einem if
1b) String#endsWith("70") ..... und das jeweils in einem if (also 24 mal if)
Die beiden Möglichkeiten halte ich auf Grund der String-Operationen allerdings für langsamer als Arbeiten mit int-Werten
2) String#endsWith([7-9][0-4])
Bin mir nicht sicher, ob Regex hier so passt (bin noch nicht dazu gekommen es auszuprobieren) aber wäre denke ich evtl. eine Möglichkeit
3a) Aus dem String einen int erzeugen, (int > 69 && int < 95) ... und diesen Ausdruck für jeden Bereich (nächster wäre >169 && < 195 usw.) - Das ganze in einem if
3b) Wie 3a, nur für jeden Bereich ein if
Wäre evtl. möglich aber trotzdem viele if-Abfragen
4) Aus dem String einen int erzeugen und das Ganze in Switch-Case abhandeln
Grundsätzlich würde ich schätzen, dass die Regex-Methode wohl die "beste" wäre, oder ich alternativ dann mit Switch-Case arbeiten sollte, weil die vielen if-Abfragen mit Strings oder ints sind denke ich mal schon langsamer bzw. resourcen-verbrauchender als Methode 2 oder 4, oder? :bahnhof:
Ich denke eigentlich wäre es mit allen Lösungen machbar, bin mir aber nicht sicher welche davon die beste ist, bzw. ob alle so überhaupt richtig funktionieren würden!
Also helft mir!!
Vielen Dank schon mal für eure Mühen!!![/quote]
genau genommen habe ich hier kein Problem, sondern möchte eher wissen welche meiner gefundenen Möglichkeiten die besser ist. Sollte jemand ne ganz andere Lösung haben lasse ich aber natürlich auch gerne belehren!
Also es ist so, dass ich einen 3stelligen String bekomme, der eine Zahl zwischen 1 und 999 enthalten kann. Ich brauche jetzt eine Prüfmethode, die FALSE zurück gibt, wenn die Zahl zwischen x70 und x94 liegt. Ansonsten soll die Methode TRUE zurück geben.
Meine Ansätze:
1a) String#endsWith("70") ..... und das ganze (also 24 mal) mit oder in einem if
1b) String#endsWith("70") ..... und das jeweils in einem if (also 24 mal if)
Die beiden Möglichkeiten halte ich auf Grund der String-Operationen allerdings für langsamer als Arbeiten mit int-Werten
2) String#endsWith([7-9][0-4])
Bin mir nicht sicher, ob Regex hier so passt (bin noch nicht dazu gekommen es auszuprobieren) aber wäre denke ich evtl. eine Möglichkeit
3a) Aus dem String einen int erzeugen, (int > 69 && int < 95) ... und diesen Ausdruck für jeden Bereich (nächster wäre >169 && < 195 usw.) - Das ganze in einem if
3b) Wie 3a, nur für jeden Bereich ein if
Wäre evtl. möglich aber trotzdem viele if-Abfragen
4) Aus dem String einen int erzeugen und das Ganze in Switch-Case abhandeln
Grundsätzlich würde ich schätzen, dass die Regex-Methode wohl die "beste" wäre, oder ich alternativ dann mit Switch-Case arbeiten sollte, weil die vielen if-Abfragen mit Strings oder ints sind denke ich mal schon langsamer bzw. resourcen-verbrauchender als Methode 2 oder 4, oder? :bahnhof:
Ich denke eigentlich wäre es mit allen Lösungen machbar, bin mir aber nicht sicher welche davon die beste ist, bzw. ob alle so überhaupt richtig funktionieren würden!
Also helft mir!!
Vielen Dank schon mal für eure Mühen!!![/quote]