M
MatthiasKramer
Ambitioniertes Mitglied
- 3
Hallo,
ich habe vor ein TextView nach +, -, * und / zu scannen.
Wenn er z.B. ein + findet, soll der Inhalt des TextViews (z.B. " 1+2 ")
gesplitet werden zu "1" und "2" und dann zusammengerechnet werden.
Den Spliter hätte ich soweit fertig:
Also, wenn der Scanner ein "+" findet, soll
sein, wenn der Scanner ein "-" findet, soll
sein. Das gleiche auch bei "*" und "/".
Also müsste das doch in etwa so aussehen:
So in etwa müsste das doch aufgebaut sein, oder?! (Mir ist klar, dass das nicht der code sein kann, es ging mir jetzt nur darum mein Problem zu erläutern)
Mein Problem: Ich weiß nicht wie ich den Scanner erstellen soll und ihn dann so einstelle, dass er das TextView "tva" nach "+, -, *, /" durchsucht.
Dazu schaffe es nicht dann eine passende if-Abfrage dazu zu schreiben.
Ich hoffe ihr versteht, was ich meine!
Liebe grüße.
[/LEFT]
ich habe vor ein TextView nach +, -, * und / zu scannen.
Wenn er z.B. ein + findet, soll der Inhalt des TextViews (z.B. " 1+2 ")
gesplitet werden zu "1" und "2" und dann zusammengerechnet werden.
Den Spliter hätte ich soweit fertig:
Code:
[LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]public[/COLOR][/SIZE][/COLOR][/SIZE][/B][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]void[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2] onClickGleich (View view) {[/SIZE][/LEFT]
[LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]int[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2] Ergebnis;[/SIZE][/LEFT]
[LEFT][SIZE=2]TextView tva = (TextView) findViewById (R.id.[/SIZE][I][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]TextView01[/COLOR][/SIZE][/COLOR][/SIZE][/I][SIZE=2]);[/SIZE]
[SIZE=2]TextView tve = (TextView) findViewById (R.id.[/SIZE][I][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]Ergebnis[/COLOR][/SIZE][/COLOR][/SIZE][/I][SIZE=2]); [/SIZE][/LEFT]
[LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]if[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2] (tva.getText().toString() == [/SIZE][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]""[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]) {[/SIZE]
[SIZE=2]tva.setText([/SIZE][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]"Geben Sie eine Aufgabe ein."[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]);[/SIZE]
[SIZE=2]tve.setText([/SIZE][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]""[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]);[/SIZE]
[B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]return[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2];}[/SIZE][/LEFT]
[LEFT][SIZE=2]String aufgabe = tva.getText().toString();[/SIZE]
[SIZE=2]String delims = [/SIZE][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]"[+-*/]+"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];[/SIZE]
[SIZE=2]String [] tokens = aufgabe.split(delims);[/SIZE]
[SIZE=2]String tokens0 = tokens[0]; [/SIZE][SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]//zahl1[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#3f7f5f][/LEFT]
[/COLOR][/SIZE][SIZE=2]String tokens1 = tokens[1];
[/SIZE][LEFT][SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]//zahl2[/COLOR][/SIZE][/COLOR][/SIZE]
[SIZE=2][COLOR=#3f7f5f]
[/COLOR][/SIZE]
[LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]int[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2] zahl1 = Integer.[I]parseInt[/I](tokens0);[/SIZE]
[B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]int[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2] zahl2 = Integer.[I]parseInt[/I](tokens1);[/SIZE][/LEFT]
[LEFT][SIZE=2]Ergebnis = zahl1 + zahl2;[/SIZE]
[SIZE=2]tve.setText([/SIZE][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]"Ergebnis = "[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] + Ergebnis);[/SIZE][/LEFT]
[SIZE=2]}[/SIZE]
Also, wenn der Scanner ein "+" findet, soll
Code:
Ergebnis = zahl1 + zahl2
Code:
Ergebnis = zahl1 - zahl2
Also müsste das doch in etwa so aussehen:
Code:
Blablabla
new Scanner // Weiss nicht, wie man einen neuen Scanner erstellt
...
...
if Der scanner ein "+" im TextView /*Namens "tva"*/ gefunden hat {
Ergebnis = zahl1 + zahl2
}
So in etwa müsste das doch aufgebaut sein, oder?! (Mir ist klar, dass das nicht der code sein kann, es ging mir jetzt nur darum mein Problem zu erläutern)
Mein Problem: Ich weiß nicht wie ich den Scanner erstellen soll und ihn dann so einstelle, dass er das TextView "tva" nach "+, -, *, /" durchsucht.
Dazu schaffe es nicht dann eine passende if-Abfrage dazu zu schreiben.
Ich hoffe ihr versteht, was ich meine!
Liebe grüße.
[/LEFT]