Taschenrechner App - Fehler beim Parsen der Eingaben

  • Antworten:1
Maki Ffm
  • Forum-Beiträge: 1

05.02.2018, 17:27:53 via Website

Also das ist bestimmt eine dumme Frage, aber ich bin grad beim programmieren im Android Studio und meine Frage ist ich kann kein setText() ausführen mit mehreren Variabeln also.

package com.example.androidapp;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import org.w3c.dom.Text;

public class MainActivity extends AppCompatActivity {

EditText operantText1;
EditText operantText2;
EditText operantText3;
TextView Teilschritt1;
TextView Teilschritt2;
TextView Teilschritt3;
TextView Teilschritt4;
Button Rechne;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    operantText1=(EditText) findViewById(R.id.etOperant1);
    operantText2=(EditText) findViewById(R.id.etOperant2);
    operantText3=(EditText) findViewById(R.id.etOperant3);
    Teilschritt1=(TextView) findViewById(R.id.Teilschritt1) ;
    Teilschritt2=(TextView)findViewById(R.id.Teilschritt2);
    Teilschritt3=(TextView)findViewById(R.id.Teilschritt3);
    Teilschritt4=(TextView)findViewById(R.id.Teilschritt4);

    Rechne.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
           float wert1= Float.parseFloat(operantText1.getText().toString());
           float wert2= Float.parseFloat(operantText2.getText().toString());
           float wert3= Float.parseFloat(operantText3.getText().toString());
           Teilschritt1.setText(Float.toString(Float.parseFloat("f(x)="+wert1+"x²+"+wert2+"x+"+wert3)));
        }
    });
}

}
Die App will sich gar nicht öffnen.

— geändert am 05.02.2018, 19:13:30 durch Moderator

Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

05.02.2018, 19:20:30 via Website

Hallo Maki Ffm,
herzllich wilkommen hier im Forum :)
ich habe deinen Thread mal in den Entwicklerbereich verschoben und deinen Threadtitel angepasst.
Bitte achte in Zukunft auf einen aussagekräftigen Titel.
Danke :)


Jetzt du deiner Frage:

Was versuchst du hier?

Nach deinem Code:

 float wert1= Float.parseFloat(operantText1.getText().toString());

liest du einen Wert aus einer TextBox und versuchst diesen in einen float Wert zu parsen.

Das funktioniert, solange du valide Zahlen eingibst, ansonsten stürzt die App wieder ab, dann musst du prüfen ob du eine passende Zahl eingegeben hast.

Was ich aber nicht verstehe ist, was du hier versuchst:?

Teilschritt1.setText(Float.toString(Float.parseFloat("f(x)="+wert1+"x²+"+wert2+"x+"+wert3)));

Das geht garnicht, da du hier versuchst, f(x)... als float zu parsen, obwohl es keins ist.

du kannst das z.b. so ändern:
Teilschritt1.setText("f(x)="+wert1+"x²+"+wert2+"x+"+wert3)));

Vielleicht arbeitest du dich mal mit den Java Grundlagen ohne Android ein, das könnte durchaus helfen.
Zudem immer den Error Log (Logcat) lesen oder hier posten, das hilft ungemein ;)

— geändert am 05.02.2018, 19:21:26

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
swa00
Kommentieren