我正在构建一个基于A,B和C的用户输入解决二次公式的应用程序。我遇到了问题。 A,B和C都是整数,但它们需要使用EditText组件editText1(和2,3)的值,以便公式可以运行A,B,C。如何以整数形式获取Android EditText组件的值?
如何获取值?这里是我的代码,其中这部分丢失:
double root1=0;
double root2=0;
double discriminant;
int A;
int B;
int C;
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/** Called when the activity is first created. */
//reset button will be a menu option
final TextView textView6 = (TextView) findViewById(R.id.textView6);
EditText inputA = (EditText)findViewById(R.id.editText1) ;
EditText inputB = (EditText)findViewById(R.id.editText2);
EditText inputC = (EditText)findViewById(R.id.editText3);
Button calcbutton = (Button)findViewById(R.id.calcbutton);
calcbutton.setOnClickListener(new View.OnClickListener() { // when calculate is clicked
public void onClick(View v) {
// TODO Auto-generated method stub
discriminant = Math.sqrt((B*B)-(4*A*C));
if(discriminant>0){
root1 = ((-B + discriminant)/2*A);
root2 = ((-B - discriminant)/2*A);
// set textview6 to answer above
textView6.setTag(root1);
textView6.setTag(root2);
}
if(discriminant==0){
root1=(int) ((-B + discriminant)/2*A);
textView6.setTag(root1);
}
if(discriminant<0){
textView6.setText("This equation has imaginary roots");
// equation has imaginary roots
}
}
});
}
}
2011-08-20
jtrain45
+0
再给你一个数学注释:判别式是根部以下的术语,即'(B * B) - (4 * A * C)'。你不能合理地取负数的平方根,例如你应该首先检查它的标志,然后扎根。 –