计算应用

时间:2017-10-24 20:01:22

标签: java android calculator

我想为Android做一个特殊的计算应用程序,但如果我没有或没有太高的数字并按下计算它崩溃,我做了很多googleing但没有找到答案。 这是我的第二个应用程序。 任何有用的提示将不胜感激。

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

}

public void myBerechnen(View v) {

    EditText Input=(EditText)findViewById(R.id.Input);

    TextView mal2=(TextView)findViewById(R.id.mal2);
    TextView mal3=(TextView)findViewById(R.id.mal3);
    TextView mal4=(TextView)findViewById(R.id.mal4);
    TextView mal5=(TextView)findViewById(R.id.mal5);
    TextView mal6=(TextView)findViewById(R.id.mal6);
    TextView mal7=(TextView)findViewById(R.id.mal7);
    TextView mal8=(TextView)findViewById(R.id.mal8);
    TextView mal9=(TextView)findViewById(R.id.mal9);

    TextView durch2=(TextView)findViewById(R.id.durch2);
    TextView durch3=(TextView)findViewById(R.id.durch3);
    TextView durch4=(TextView)findViewById(R.id.durch4);
    TextView durch5=(TextView)findViewById(R.id.durch5);
    TextView durch6=(TextView)findViewById(R.id.durch6);
    TextView durch7=(TextView)findViewById(R.id.durch7);
    TextView durch8=(TextView)findViewById(R.id.durch8);
    TextView durch9=(TextView)findViewById(R.id.durch9);

    Integer Zahl=Integer.parseInt(Input.getText().toString());

    mal2.setText(String.valueOf(Zahl * 2));
    mal3.setText(String.valueOf(Zahl * 2 * 3));
    mal4.setText(String.valueOf(Zahl * 2 * 3 * 4));
    mal5.setText(String.valueOf(Zahl * 2 * 3 * 4 * 5));
    mal6.setText(String.valueOf(Zahl * 2 * 3 * 4 * 5 * 6));
    mal7.setText(String.valueOf(Zahl * 2 * 3 * 4 * 5 * 6 * 7));
    mal8.setText(String.valueOf(Zahl * 2 * 3 * 4 * 5 * 6 * 7 * 8));
    mal9.setText(String.valueOf(Zahl * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9));

    durch2.setText(String.valueOf(Zahl * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 / 2));
    durch3.setText(String.valueOf(Zahl * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 / 2 / 3));
    durch4.setText(String.valueOf(Zahl * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 / 2 / 3 / 4));
    durch5.setText(String.valueOf(Zahl * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 / 2 / 3 / 4 / 5));
    durch6.setText(String.valueOf(Zahl * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 / 2 / 3 / 4 / 5 / 6));
    durch7.setText(String.valueOf(Zahl * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 / 2 / 3 / 4 / 5 / 6 / 7));
    durch8.setText(String.valueOf(Zahl * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 / 2 / 3 / 4 / 5 / 6 / 7 / 8));
    durch9.setText(String.valueOf(Zahl * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 / 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9));




}
}

1 个答案:

答案 0 :(得分:0)

mal9.setText(String.valueOf(Zahl * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9));

在尝试将其转换为字符串之前,您将多个整数与您的变量相乘,该变量可能大于整数可以存储的整数。我建议阅读Data Types并尝试将其转换为长或双。

尝试调试时是否也没有特定的错误代码?那会告诉你它崩溃的确切原因。