我的应用程序意外关闭,我真的不知道问题是什么。我是编程java的新手。我试过'尝试','抓住'和'最后'的方法。 这是代码:
package com.eqsec.csaba;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class EqsecActivity extends Activity {
/** Called when the activity is first created. */
Button solve;
EditText vA, vB, vC;
TextView solution;
int discriminant, iA, iB, iC;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
solve = (Button) findViewById(R.id.bSolve);
vA = (EditText) findViewById(R.id.etA);
vB = (EditText) findViewById(R.id.etB);
vC = (EditText) findViewById(R.id.etC);
solve.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
try{
String A = vA.getText().toString();
iA = Integer.parseInt(A);
String B = vB.getText().toString();
iB = Integer.parseInt(B);
String C = vC.getText().toString();
iC = Integer.parseInt(C);
solution.setText("Yout total is " + iA);
}catch (ArithmeticException e) {
e.printStackTrace();
}
}
});
}
}
请帮助我,我想写一个Android应用程序,它可以解决一些数学问题。
答案 0 :(得分:3)
您必须抓住NumberFormatException
而不是ArithmeticException
。
之前初始化解决方案变量。像:
solution = (TextView) findViewById(R.id.solution);
完整代码将是:
package com.eqsec.csaba;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class EqsecActivity extends Activity {
/** Called when the activity is first created. */
Button solve;
EditText vA, vB, vC;
TextView solution;
int discriminant, iA, iB, iC;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
solve = (Button) findViewById(R.id.bSolve);
vA = (EditText) findViewById(R.id.etA);
vB = (EditText) findViewById(R.id.etB);
vC = (EditText) findViewById(R.id.etC);
solution = (TextView) findViewById(R.id.solution);
solve.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
try{
String A = vA.getText().toString();
iA = Integer.parseInt(A);
String B = vB.getText().toString();
iB = Integer.parseInt(B);
String C = vC.getText().toString();
iC = Integer.parseInt(C);
solution.setText("Yout total is " + iA);
}catch (NumberFormatException e) {
e.printStackTrace();
}
}
});
}
}
答案 1 :(得分:0)
试试这个:
solve.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
String A = vA.getText().toString();
iA = Integer.ValueOf(A);
String B = vB.getText().toString();
iB = Integer.ValueOf(B);
String C = vC.getText().toString();
iC = Integer.ValueOf(C);
// intialize solution
solution.setText("Yout total is " + String.ValueOf(iA));
//This is not the total yet
}
});