package com.example.calc.taschenrechner;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {


    String globaleZahl_1;
    String globalOperator;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }



    public void einsClick (View v) {

        EditText ergebnis = (EditText) findViewById(R.id.editText);

        String s1 = ergebnis.getText().toString();

        if (s1.equals("0") ) //wenn wir nur eine null im feld haben, dann entfernen wir sie
        {
            s1 = "";  //leeren
        }

        //nun die zahl anfügen, die wir eingetippt haben
        s1 = s1 + "1";
        ergebnis.setText(s1);   //hier setzen wir den wert, der im EditText angezeigt werden soll
    }

    public void zweiClick (View v) {

        EditText ergebnis = (EditText) findViewById(R.id.editText);

        String s1 = ergebnis.getText().toString();

        if (s1.equals("0") ) //wenn wir nur eine null im feld haben, dann entfernen wir sie
        {
            s1 = "";  //leeren
        }

        //nun die zahl anfügen, die wir eingetippt haben
        s1 = s1 + "2";
        ergebnis.setText(s1);   //hier setzen wir den wert, der im EditText angezeigt werden soll
    }


    public void dreiClick (View v) {

        EditText ergebnis = (EditText) findViewById(R.id.editText);

        String s1 = ergebnis.getText().toString();

        if (s1.equals("0") ) //wenn wir nur eine null im feld haben, dann entfernen wir sie
        {
            s1 = "";  //leeren
        }

        //nun die zahl anfügen, die wir eingetippt haben
        s1 = s1 + "3";
        ergebnis.setText(s1);   //hier setzen wir den wert, der im EditText angezeigt werden soll
    }


    public void vierClick (View v) {

        EditText ergebnis = (EditText) findViewById(R.id.editText);

        String s1 = ergebnis.getText().toString();

        if (s1.equals("0") ) //wenn wir nur eine null im feld haben, dann entfernen wir sie
        {
            s1 = "";  //leeren
        }

        //nun die zahl anfügen, die wir eingetippt haben
        s1 = s1 + "4";
        ergebnis.setText(s1);   //hier setzen wir den wert, der im EditText angezeigt werden soll
    }



    public void fuenfClick (View v) {

        EditText ergebnis = (EditText) findViewById(R.id.editText);

        String s1 = ergebnis.getText().toString();

        if (s1.equals("0") ) //wenn wir nur eine null im feld haben, dann entfernen wir sie
        {
            s1 = "";  //leeren
        }

        //nun die zahl anfügen, die wir eingetippt haben
        s1 = s1 + "5";
        ergebnis.setText(s1);   //hier setzen wir den wert, der im EditText angezeigt werden soll
    }



    public void sechsClick (View v) {

        EditText ergebnis = (EditText) findViewById(R.id.editText);

        String s1 = ergebnis.getText().toString();

        if (s1.equals("0") ) //wenn wir nur eine null im feld haben, dann entfernen wir sie
        {
            s1 = "";  //leeren
        }

        //nun die zahl anfügen, die wir eingetippt haben
        s1 = s1 + "6";
        ergebnis.setText(s1);   //hier setzen wir den wert, der im EditText angezeigt werden soll
    }



    public void siebenClick (View v) {

        EditText ergebnis = (EditText) findViewById(R.id.editText);

        String s1 = ergebnis.getText().toString();

        if (s1.equals("0") ) //wenn wir nur eine null im feld haben, dann entfernen wir sie
        {
            s1 = "";  //leeren
        }

        //nun die zahl anfügen, die wir eingetippt haben
        s1 = s1 + "7";
        ergebnis.setText(s1);   //hier setzen wir den wert, der im EditText angezeigt werden soll
    }




    public void achtClick (View v) {

        EditText ergebnis = (EditText) findViewById(R.id.editText);

        String s1 = ergebnis.getText().toString();

        if (s1.equals("0") ) //wenn wir nur eine null im feld haben, dann entfernen wir sie
        {
            s1 = "";  //leeren
        }

        //nun die zahl anfügen, die wir eingetippt haben
        s1 = s1 + "8";
        ergebnis.setText(s1);   //hier setzen wir den wert, der im EditText angezeigt werden soll
    }



    public void neunClick (View v) {

        EditText ergebnis = (EditText) findViewById(R.id.editText);

        String s1 = ergebnis.getText().toString();

        if (s1.equals("0") ) //wenn wir nur eine null im feld haben, dann entfernen wir sie
        {
            s1 = "";  //leeren
        }

        //nun die zahl anfügen, die wir eingetippt haben
        s1 = s1 + "9";
        ergebnis.setText(s1);   //hier setzen wir den wert, der im EditText angezeigt werden soll
    }



    public void nullClick (View v) {

        EditText ergebnis = (EditText) findViewById(R.id.editText);

        String s1 = ergebnis.getText().toString();

        if (s1.equals("0") ) //wenn wir nur eine null im feld haben, dann entfernen wir sie
        {
            s1 = "";  //leeren
        }

        //nun die zahl anfügen, die wir eingetippt haben
        s1 = s1 + "0";
        ergebnis.setText(s1);   //hier setzen wir den wert, der im EditText angezeigt werden soll
    }

    public void delClick (View v) {
        EditText ergebnis = (EditText) findViewById(R.id.editText);
        String s1 = "0";
        globaleZahl_1 = "0";
        globalOperator = "#";
        ergebnis.setText(s1);   //hier setzen wir den wert, der im EditText angezeigt werden soll
        EditText operationsFeld = (EditText) findViewById(R.id.editText2);
        operationsFeld.setText("");
    }


    public void plusClick (View v) {

        EditText ergebnis = (EditText) findViewById(R.id.editText);

        globaleZahl_1 = ergebnis.getText().toString();  //wir speichern die erste zahl, auf die wir eine operation anwenden global ab
        ergebnis.setText("");  //nun könnnen wir es auf der anzeige löschen, damit wir die zweite zahl dort eingeben können

        globalOperator = "+";
        EditText operationsFeld = (EditText) findViewById(R.id.editText2);
        operationsFeld.setText(globaleZahl_1 + " "+globalOperator+" ");
    }


    public void minusClick (View v) {

        EditText ergebnis = (EditText) findViewById(R.id.editText);

        globaleZahl_1 = ergebnis.getText().toString();  //wir speichern die erste zahl, auf die wir eine operation anwenden global ab
        ergebnis.setText("");  //nun könnnen wir es auf der anzeige löschen, damit wir die zweite zahl dort eingeben können

        globalOperator = "-";
        EditText operationsFeld = (EditText) findViewById(R.id.editText2);
        operationsFeld.setText(globaleZahl_1 + " "+globalOperator+" ");
    }



    public void malClick (View v) {

        EditText ergebnis = (EditText) findViewById(R.id.editText);

        globaleZahl_1 = ergebnis.getText().toString();  //wir speichern die erste zahl, auf die wir eine operation anwenden global ab
        ergebnis.setText("");  //nun könnnen wir es auf der anzeige löschen, damit wir die zweite zahl dort eingeben können

        globalOperator = "*";
        EditText operationsFeld = (EditText) findViewById(R.id.editText2);
        operationsFeld.setText(globaleZahl_1 + " "+globalOperator+" ");
    }




    public void geteiltClick (View v) {

        EditText ergebnis = (EditText) findViewById(R.id.editText);

        globaleZahl_1 = ergebnis.getText().toString();  //wir speichern die erste zahl, auf die wir eine operation anwenden global ab
        ergebnis.setText("");  //nun könnnen wir es auf der anzeige löschen, damit wir die zweite zahl dort eingeben können

        globalOperator = "/";
        EditText operationsFeld = (EditText) findViewById(R.id.editText2);
        operationsFeld.setText(globaleZahl_1 + " "+globalOperator+" ");
    }


    public void gleichClick (View v) {

        EditText ergebnis = (EditText) findViewById(R.id.editText);

        String zahl2_str = ergebnis.getText().toString();

        Integer zahl1 = Integer.parseInt(globaleZahl_1);
        Integer zahl2 = Integer.parseInt(zahl2_str);

        int berechnung;

        switch (globalOperator) {
            case "+":  berechnung = zahl1 + zahl2;
                break;
            case "-":  berechnung = zahl1 - zahl2;
                break;
            case "*":  berechnung = zahl1 * zahl2;
                break;
            case "/":  berechnung = zahl1 / zahl2;
                break;
            default: berechnung = 0;
                break;
        }

        //wir setzen den globalen operator auf etwas anderes, so dass beim nächsten mal bei drücken des gleichheitszeichens
        //nichts neu berechnet wird oder mit alten werten etwas gerechnet wird, da die switchanweisung das defaul ausführt

        globalOperator = "#";

        String loesung = String.valueOf(berechnung);

        ergebnis.setText(loesung);

        EditText operationsFeld = (EditText) findViewById(R.id.editText2);
        operationsFeld.setText(loesung);

    }








/*
    public void myClicker (View v) {

        EditText zahl1 = (EditText) findViewById(R.id.z1);
        EditText zahl2 = (EditText) findViewById(R.id.z2);
        EditText ergebnis = (EditText) findViewById(R.id.erg);

        String s1 = zahl1.getText().toString();
        String s2 = zahl2.getText().toString();

        Integer i1 = Integer.parseInt(s1);
        Integer i2 = Integer.parseInt(s2);

        Integer rechnung = i1 + i2;

        String loesung = String.valueOf(rechnung);

        ergebnis.setText(loesung);

    }

*/





}
