ich würde gerne für die weitere verarbeitung einen String der vom Benutzer Zahlen in der Form "1#2#3#4" erhalten hat in die ints z1, z2, z3, z4 umwandeln.
Also z1 sollte nach der umwandlung 1 entwalten, z2=2 usw..
Entsprechend wenn die Eingabe 2#4#5#3 ist soll z1=2 sein. z2=4...
Ist das mit Java möglich? Brauche ich vielleicht ein Extra Paket dafür?
Ich weiß nicht direkt wonach ich da im Forum suchen soll.
String[] result = yourInputString.split("[#]");int[] ints =newint[result.length];for(int i =0; i < ints.length; i++){
ints[i]=Integer.parseInt(results[i]);}
Bei dem Regex-Pattern in Split weiß ich nicht genau, obs der beste Weg ist, weil RegEx kann ich nur minimal, funktioniert aber^^
Danach hast du dann ein Array voll mit diesen Zahlen, wobei die erste Zahl natürlich in ints[0] zu finden ist.
Zunächst ein mal könnte man den String zerlegen. String.split(String) liefert ein String Array im den Zahlen als Inhalt. Man muss dann nur noch ein int-Array gleicher Größe erstellen und die einzelnen "Stringzahlen" in einer Schleife in echte Zahlen parsen.Integer.parseInt(String)
wenn du sehen willst was so geschieht einfach den boolean oben auf true setzen ...
Die Lösung ist nur für Programmieranfänger gut - die Anderen Lösungen sind viel eleganter, aber auch schwieriger zu verstehen.
Java:
importjava.util.ArrayList;publicclassTest{privatestaticboolean debug =false;privatestaticvoidlog(String str){if(debug)System.out.println(str);}publicstaticvoidmain(String[] args){String str ="2#4#5#3";ArrayList<Integer> al =newArrayList<Integer>();int i =0;while(i<str.length()){int index = str.indexOf("#", i);if(index ==-1){String teil = str.substring(i);// Rest des Strings holen
i = str.length();// Abbruch forcierenlog(teil);
al.add(Integer.parseInt(teil));log("ende");}else{log("i = "+ i +", index = "+ index);String teil = str.substring(i,Math.min(index, str.length()-1));
al.add(Integer.parseInt(teil));log("index of # = "+ index);log(teil);
i = index +1;}}System.out.println("Folgende Werte wurden gefunden");for(Integer value : al){System.out.println(value);}}}
@Andi_CH: Wenn ich den Text von dir mit BlueJ Übersetzen will kommt: "cannot find symbol - class ArrayList". Deswegen kann ich leider nicht Testen was dein Programm genau Ausgibt.
@Andi_CH: Wenn ich den Text von dir mit BlueJ Übersetzen will kommt: "cannot find symbol - class ArrayList". Deswegen kann ich leider nicht Testen was dein Programm genau Ausgibt.