App rechnet falsch oder ich schreibe falsch :)

  • Antworten:6
Florian F.
  • Forum-Beiträge: 29

31.01.2013, 14:24:40 via Website

Hi Androids,

ich spiele seit einigen Tagen mit der Eclipse IDE und der Android App Programmierung.
Programmieren kann ich, bloß kein Java :)

Nun habe ich diverse Acitivties die alle auch starten und lande nun bei einer die etwas rechnen soll.

Rechnen heißt in dem Fall, ganz simpel: input1 + input 2 ->(rechnenbutton.click)-> result

Nun ist i1 = 1 und i2=1 ... das Ergebnis ist dann anstatt 2 -> 11 ...
An sich weiß ich schon was falsch läuft. Heißt: Da ich Strings definiert habe, wird das + an aneinanderreihung der Werte anstatt als Rechnung gewertet. Aber wenn ich anstatt String- int hinschreibe, kommen Fehler. Wie muss es heißen?

Hier meine Funktion dafür:
1public void rechne(){
2 EditText input1 = (EditText) findViewById(R.id.input1);
3 EditText input2 = (EditText) findViewById(R.id.input2);
4 TextView ergebnis = (TextView) findViewById(R.id.Ergebnis);
5 String i1 = input1.getText().toString();
6 String i2 = input2.getText().toString();
7 String result = i1 + Integer.parseInt(i2);
8 ergebnis.setText(result);
9 }

— geändert am 31.01.2013, 14:34:25

Antworten
Appsoluts
  • Forum-Beiträge: 304

31.01.2013, 14:39:53 via Website

String result = "" + Integer.parseInt(i1) + Integer.parseInt(i2);

Luigi

Antworten
Florian F.
  • Forum-Beiträge: 29

31.01.2013, 14:50:43 via Website

Geht es nicht einfacher 2 Werte miteinander zu addieren???

Mir ist nun schon öfters aufgefallen, das Java in vielen Dingen sehr unhandlich /unausgereift wirkt....

In anderen Sprachen hat man einfach die Möglichkeit, den Inhalt des Inputfeldes, als int zu definieren, also beispielsweise:

var zahl:int;
textfeld.text = zahl;

Fertig.

Rechnen wäre dann: ergebnis = zahl+zahl;

Antworten
Appsoluts
  • Forum-Beiträge: 304

31.01.2013, 14:57:52 via Website

Du machst doch hier genau das selbe...

kannst das ganze natürlich kürzen indem du sagst:

int res = Integer.parseInt(input1.getText().toString()) + Integer.parseInt(input2.getText().toString())

Java ist mit SIcherheit nicht unausgereifter als Basic oder was du da beschreibst ;)

Was machst du in deinem Fall, wenn im Textfeld keine Zahl drinnen steht ?
Den Fall solltest du immer bedenken...

Antworten
Florian F.
  • Forum-Beiträge: 29

31.01.2013, 15:15:17 via Website

Es muss eine Zahl drinstehen, weil man Textfelder auch auf numerische Eingabe begrenzen kann. Jedenfalls kenne ich keine guten Apps in der man auch nur die Möglichkeit hat Zahlen in, sagen wir einen Taschenrechner einzugeben.

Antworten
Appsoluts
  • Forum-Beiträge: 304

31.01.2013, 15:17:59 via Website

Der Android Taschenrechner...
Da tippst du halt über Buttons und nicht über das Keyboard

Antworten
Florian F.
  • Forum-Beiträge: 29

31.01.2013, 15:23:46 via Website

Natürlich meine ich Apps die das Softkeyboard verwenden.

Ich hab vorher mit Flex/AS3 für iOS und Android entwickelt.Oder tue es immernoch.. Vom grundlegenden Handling ist es definitiv einfacher, als die tausendfache Benamung eines Objekts in der Eclipse IDE.

Antworten