2016-10-05 16 views
-2

誰かがコードを手伝ってくれますか?計算(ボタン)を押すと突然シミュレーションが停止します。 3つの異なるedittext(etjan、etfeb、etmar)を使用して3つの数字を追加し、コミッション(if ... else、etcom)を計算し、合計(etpro)を探します。不明なアンドロイドのエラー

package com.example.personal.semifinals_exam; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
// import android.widget.TextView; 

public class MainActivity extends AppCompatActivity { 

    EditText etJAN, etFEB, etMAR, etTS, etCOM, etPRO; 
    //TextView txtO_TS, txtO_COM, txtO_PRO; 
    Button btnCALC/*, btnADD, btnDELETE, btnCLEAR*/; 

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

    etJAN =(EditText) findViewById(R.id.etJAN); 
    etFEB =(EditText) findViewById(R.id.etFEB); 
    etMAR =(EditText) findViewById(R.id.etMAR); 

    btnCALC = (Button) findViewById(R.id.btnCALC); 
    btnCALC.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View view) { 
     String Jan, Feb, Mar; 
     double com, tc; 

     Jan = etJAN.getText().toString(); 
     Feb = etFEB.getText().toString(); 
     Mar = etMAR.getText().toString(); 

     double jan = Double.parseDouble(Jan); 
     double feb = Double.parseDouble(Feb); 
     double mar = Double.parseDouble(Mar); 

     double ts = jan + feb + mar; 

     etTS.setText(ts + " "); 

     if(ts <= 299) { 
      com = 0.00; 
      tc = ts * com; 
      etCOM.setText("No Commission"); 
      etPRO.setText((tc + ts) +" "); 
     } 
     else if (ts > 299 && ts < 1000) { 
      com = 0.10; 
      tc = ts * com; 
      etCOM.setText("10% Commission"); 
      etPRO.setText((tc + ts) +" "); 
     } 
     else if (ts > 999 && ts < 1500) { 
      com = 0.20; 
      tc = ts * com; 
      etCOM.setText("20% Commission"); 
      etPRO.setText((tc + ts) +" "); 
     } 
     } 
    }); 
    } 
} 
+0

スタックトレースを使用してlogcat出力を投稿してください。 –

+0

'etTS'と' etCOM'' etPRO'インスタンスを取得しましたか? – Blackkara

+0

ようこそスタックオーバーフロー!良い質問をするのに役立つこの[SO Question Checklist](http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist)をよく読んで、良い答えを得てください。 –

答えて

0

あなたはまず、あなたのコードでは、etCOM、etPROをETTSを初期化しますがetJAN、etFEBのために何をすべきか、etMARが、それらに設定された値を試すようにそれらを初期ませんでした...

+0

ああ、ありがとう。私はちょうどそれを実現した –

0

初期化してみてください。 ETTS、etCOM、etPROは、その後setTextを使用します。

etTS =(EditText) findViewById(R.id.etTS); 
etCOM =(EditText) findViewById(R.id.etCOM); 
etPRO =(EditText) findViewById(R.id.etPRO); 
+0

ありがとう、私はまだあまりにもアンドロイドに行く –