2013-04-23 3 views
0

Привет, ребята, я новичок в android и хочу отобразить квадратичную формулу вычисления здесь - это код, который я делаю в android, в этом коде нет ошибки, но все же на эмуляторе не отображается результат :-(Расчет квадратичной формулы в android?

public class MainActivity extends Activity { 

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

    Button b1 = (Button) findViewById(R.id.btnSubmit); 
    final EditText et1 = (EditText) findViewById(R.id.etVA);//whats wrong 
    final EditText et2 = (EditText) findViewById(R.id.etVC);//whats wrong 
    final EditText et3 = (EditText) findViewById(R.id.etVC);//whats wrong 
    final TextView answer = (TextView) findViewById(R.id.txtResult);//whats wrong 
    b1.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      String a1 = et1.getText().toString();//whats wrong 
      double a = Double.parseDouble(a1);//whats wrong 

      String b1 = et2.getText().toString();//whats wrong 
      double b = Double.parseDouble(b1);//whats wrong 

      String c1 = et3.getText().toString();//whats wrong 
      double c = Double.parseDouble(c1);//whats wrong 

      double x1 = (-b+Math.sqrt(b*b-4*a*c))/(2*a);//whats wrong 

      System.out.println("x1 = "+ x1); 

      String R = x1+ ""; //whats wrong 
      answer.setText("Your Answer is " + R); //whats wrong 
     } 
    }); 
} 
+0

Попробуйте этот Double.valueof (b1) вместо этого Double.parseDouble (b1); – Yugesh

+0

До сих пор не работает :-( –

+0

Пожалуйста Любой один помочь мне сделать квадратичная формула расчета в андроида благодаря –

ответ

1

Я нашел решение. Код был в порядке, но я делал просто логическую ошибку.

final EditText et1 = (EditText) findViewById(R.id.etVA); 
final EditText et2 = (EditText) findViewById(R.id.etVC);//that is the mistake it should be like (R.id.etVB).... 
final EditText et3 = (EditText) findViewById(R.id.etVC); 
2

попробовать, как этот

 String a1 = et1.getText().toString(); 
     double a = Double.valueof(a1); 

     String b1 = et2.getText().toString(); 
     double b = Double.valueof(b1); 

     String c1 = et3.getText().toString(); 
     double c = Double.valueof(c1); 

     double x1 = (-b+Math.sqrt(b*b-4*a*c))/(2*a); 

     System.out.println("x1 = "+ x1); 

     String R = String.valueof(x1); 
     answer.setText("Your Answer is " + R); 
+0

Спасибо всем для справки. Это сработало для меня. Я сделал небольшую логическую ошибку в своем коде, теперь он решил :-) –

0

вызова onclicklistner() через View

 b1.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 

     } 
    }); 
1

Ваша программа не имеет каких-либо ошибок, и вы м ust предоставляет действительные входы. В противном случае вы получите выход Ваш ответ NAN i.e., а не номер.

Допустимые входы в том смысле, значения а, б и в, предлагаемые должны удовлетворять уравнению топор + Ьх + с = 0. Чтобы квадратичная формула могла быть использована, найдите корни.

Пример Допустимые входы:

a = 1.0 
b = 3.0 
c = 2.0 

выход для указанных входов:

Your Answer is -1.0 
Смежные вопросы