我想为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));
}
}
答案 0 :(得分:0)
mal9.setText(String.valueOf(Zahl * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9));
在尝试将其转换为字符串之前,您将多个整数与您的变量相乘,该变量可能大于整数可以存储的整数。我建议阅读Data Types并尝试将其转换为长或双。
尝试调试时是否也没有特定的错误代码?那会告诉你它崩溃的确切原因。