2013-04-23 65 views
0

你好傢伙我新來的機器人,並希望顯示二次公式計算這裏是我在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 2013-04-23 11:33:26

+0

仍然沒有工作:-( – 2013-04-23 11:41:00

+0

請任何一個幫助我做android的二次感謝公式的計算 – 2013-04-23 11:44:29

回答

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

謝謝大家尋求幫助,它爲我工作我在我的代碼中犯了一個小錯誤,現在它解決了:-) – 2013-05-09 08:07:39

0

調用onclicklistner()通過查看

 b1.setOnClickListener(new View.OnClickListener() { 

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

     } 
    }); 
1

你的程序沒有任何錯誤,你米ust提供有效的輸入。否則你會得到輸出你的答案是NAN即不是數字。

在這個意義上的有效輸入,a的值,b和提供必須滿足方程斧 + BX + C = 0℃。所以二次公式可以用來找到根。

實施例有效輸入:

a = 1.0 
b = 3.0 
c = 2.0 

輸出對於上述輸入:

Your Answer is -1.0