Rechner App rechnet falsch?

  • 2 Antworten
  • Letztes Antwortdatum
s-i.m.o-n

s-i.m.o-n

Stamm-User
58
Habe gerade meine erste Android App geschrieben, nur sie rechnet falsch.
Zur Erläuterung die App soll einfach zwei Werte mit einander addieren und das Ergebnis ausgeben.
Jedoch will das nicht richtig funktionieren, schaut vielleicht jemand in den Code und erkennt einen Fehler?

Code:
package com.example.rechner;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
 
    
    public void ButtonKlick (View view) {
    	
    	int zahl1;
    	int zahl2;
    	int ergebnis; 
    	
    	EditText Feld1 = (EditText)findViewById (R.id.zahl1);
    	EditText Feld2 = (EditText)findViewById (R.id.zahl2);
    	EditText FeldErgebnis = (EditText)findViewById (R.id.ergebnis1);
    	if (Feld1.getText().toString().length() == 0)	{
    		return;
    	}
    	
    	if (Feld2.getText().toString().length() == 0)	{
    		return;
    	}
    	zahl1 = Integer.parseInt(Feld1.getText().toString());
    	zahl2 = Integer.parseInt(Feld1.getText().toString());
    	ergebnis = zahl1 + zahl2;
    	
    	FeldErgebnis.setText(String.valueOf(ergebnis));
    	System.out.println(ergebnis);
    }
    
     
}
 
Was rechnet sie denn ? Beispiel bitte. Wenn du Kommazahlen eingibst kanns am Runden liegen, rechne einfach zahl1 + 0.5 , dann müsste es stimmen. Java rundet bei Integer immer automatisch ab, also 0,99999 = 0
 
Habe den Fehler entdeckt und auch behoben nach ca. 4 Stunden kampf :D

zahl1 = Integer.parseInt(Feld1.getText().toString());
zahl2 = Integer.parseInt(Feld1.getText().toString());
ergebnis = zahl1 + zahl2;

Er holt sich beide male den Wert aus Feld1, dann kann das ja nichts werden :D
Trotzdem danke das ich so schnell Hilfe angeboten bekommen habe, war bestimmt nicht das letzte mal :D
 

Ähnliche Themen

G
Antworten
0
Aufrufe
152
Gerdchen07
G
G
Antworten
1
Aufrufe
396
Gerdchen07
G
G
Antworten
13
Aufrufe
628
Gerdchen07
G
L
Antworten
3
Aufrufe
688
mips400
mips400
migi01
Antworten
26
Aufrufe
2.048
migi01
migi01
Zurück
Oben Unten