# App stürtzt ab beim öffnen



## LucaToni04 (8. Feb 2017)

Hallo, 
bin ein Anfänger und hab mich mal an einer app versucht. Wenn ich sie öffne, wird sie direkt wieder beendet. Kann mir da viellecht einer helfen?
Danke im Vorraus.

```
package wahrscheinlichkeitsrechner;

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

public class Start extends AppCompatActivity {

    CheckBox zwei = (CheckBox) findViewById(R.id.checkBox);
    CheckBox rechts = (CheckBox) findViewById(R.id.checkBox4);
    CheckBox links = (CheckBox) findViewById(R.id.checkBox3);
    EditText boxN = (EditText) findViewById(R.id.boxN);
    EditText boxP = (EditText) findViewById(R.id.boxP);
    EditText boxA = (EditText) findViewById(R.id.boxA);
    TextView annahmebereich = (TextView) findViewById(R.id.annahmebereich);
    int obereGrenze = 0;
    int untereGrenze =0;
    double ergebnis =0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_start);
        Button berechnen = (Button) findViewById(R.id.berechnen);
        berechnen.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
            if (zwei.isChecked()==true){
                double n = (double) Integer.valueOf(boxN.getText().toString());
                double p = (double) Integer.valueOf(boxP.getText().toString());
                double a = (double) Integer.valueOf(boxA.getText().toString());
                int temp = -1;
                while(ergebnis <=a/2) {
                    ergebnis = kWahr(n,p,0,temp+1);
                }
                untereGrenze = temp;
                while(ergebnis <=100-a/2) {
                    ergebnis = kWahr(n,p,0,temp+1);
                }
                obereGrenze = temp;
                }
                annahmebereich.setText(""+untereGrenze+ "  "+obereGrenze);
            }



            });
    }


    public double fakultät(double x){
        if(x<=1) return 1;
        else return x*fakultät(x-1);
    }

    public double binom(double n, double k){
        double tempN = fakultät(n);
        k = (fakultät(k))*(fakultät(n-k));
        return tempN/k;
    }

    public double wahr(double n, double p, double treffer){
        return binom(n,treffer) * Math.pow(p,treffer) * Math.pow(1-p,n-treffer);
    }

    public double kWahr(double n, double p, double uGrenze, double oGrenze){
        double ergebnis=0;
        while(uGrenze<=oGrenze){
            ergebnis = ergebnis + wahr(n,p,uGrenze);
            uGrenze++;
        }
        return ergebnis;
    }

}
```


----------



## Robat (8. Feb 2017)

LucaToni04 hat gesagt.:


> Wenn ich sie öffne, wird sie direkt wieder beendet


Das ist keine Fehlerbeschreibung! Kommen im LogCat Exceptions?

Nehme mal stark an, dass die App wegen der Initialisierung der Variablen außerhalb der `onCreate()` Methode abschmiert.

Schieb einfach mal den ganzen Initialisierungskram in die onCreate Methode.

Bspw:


```
// Falsch:
private EditText bla = (EditText) findViewById(R.id.bla);

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

//------


// Richtig:
private EditText bla;

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

    bla = (EditText) findViewById(R.id.bla);
}
```
Lg


----------

