2016-04-10 11 views
-3

私は単純な電卓を使っています 私はまだ初心者ですが、JavaやAndroidについてよく分かりません しかし、ボタンをクリックするたびにアプリがクラッシュします! コードに何が問題なのですか?既にこのコードはカシオ計算上のようなF(X)メソッドのためにテーブルを作成することを意味する すべてのコードをだ私のコードで何が問題になっていますか?毎回私がアプリクラッシュをクリックするたびに

final Button btn = (Button) findViewById(R.id.btn); 
final EditText ET = (EditText) findViewById(R.id.ET); 
final EditText ET2 = (EditText) findViewById(R.id.ET2); 
final EditText ET3 = (EditText) findViewById(R.id.ET3); 
final TextView TV = (TextView) findViewById(R.id.textView4); 
final TextView TV2 = (TextView) findViewById(R.id.textView5); 

btn.setOnClickListener(new View.OnClickListener() { 
     @Override 

     public void onClick(View v) { 


       String et = ET.getText().toString(); 
       String et2 = ET2.getText().toString(); 
       String et3 = ET3.getText().toString(); 

       for (int i = Integer.parseInt(et2); i < Integer.parseInt(et3); i++) { 

    try {   
     str = et.replace("X", "" + i); 
        } 
     catch (Exception e) { 
         str = et.replace("x", "" + i); 
        } 

        int rslt = Integer.parseInt(str); 
        TV.append(" " + i) 
        TV2.append(" " + rslt) 

       } 
      } 
     } 

    }); 

。私は学校 のためにそれが必要な場合がありますように: F(X)= X^2 + X * 4 - 私が見る3

+1

あなたのログとアクティビティのコードを投稿してください。 –

+0

'adb logcat'の出力を確認し、ここにスタックトレースを入れてください。 –

+0

あなたの新しいコードはコンパイルされていないので、全くクラッシュすることはありません... –

答えて

0

一つの問題は、外側tryミスはcatchブロックに対応し、適切な番号が入力されているかどうかを確認していないということですEt2およびEt3中で実施した。指定されたテキストが適切な数でない場合、Integer.parseIntは例外をスローします。

+0

外側のキャッチを外したので、外側のtryを削除するのを忘れました 意味がないので削除しました問題があった場所を知りたいです –

+0

試しました { int rslt = Integer.parseInt(et.replace( "X"、 "" + i)); TV.append( "" + i); TV2.append( "" + rslt); } catch(例外e){ int rslt = Integer.parseInt(et.replace( "x"、 "" + i)); TV.append( "" + i); TV2.append( "" + rslt); } 同じエラーが発生しました X + 2(Xはiに変更されます)のような合計が整数として提供されないため、エラーが発生します どうすればよいですか? –

+0

あなたのコードは 'catch'節から例外をスローする可能性があります。私はあなたがlogcatとデバッガに精通して、より多くの情報を収集する必要があると思います。あなたは簡単にエラーを発見し、より具体的な質問をすることができます。 –

関連する問題