2016-04-10 15 views
-3

kilitler her zaman ben basit bir hesap makinesi üzerinde çalışıyorum hala bir acemi ve java veya android hakkında çok fazla bir şey bilmiyorum, ancak her zaman app çöktü butonuna tıklayın! Koddaki sorun nedir? Zaten bu kod casio hesap makinesinde gibi bir F (X) yöntemi için bir tablo yapmak içindir tüm kodları varKodumdaki sorun nedir? Ben app kilitler

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) 

       } 
      } 
     } 

    }); 

. Okula için lazım olabilir mi: F (X) = X^2 + X * 4 - Görüyorum 3

+1

Lütfen günlüğünüzü ve etkinliğinizin diğer kodlarını gönderin –

+0

'adb logcat' çıktısını denetleyin ve yığın izini buraya yerleştirin. –

+0

Yeni kodunuz derlenmiyor, bu yüzden hiç çökmez ... –

cevap

0

Bir problem dış try özlüyor catch blok karşılık gelen ve doğru numara girilmiş olup olmadığını kontrol kalmamasıdır Et2 ve Et3'te. Metin uygun bir sayı değilse Integer.parseInt bir istisna atar.

+0

Dış yakalamayı kaldırmayı unuttum çünkü dış yakalamayı kaldırdım Çıkardığım anlamsız çünkü sadece sorunun nerede olduğunu bilmek istedim –

+0

I denediniz { int rslt = Tamsayı.parseInt (et.replace ("X", "" + i)); TV.append ("" + i); TV2.append ("" + rslt); } catch (Özel durum e) { int rslt = Tamsayı.parseInt (et.replace ("x", "" + i)); TV.append ("" + i); TV2.append ("" + rslt); } } aynı hatayı verdi çünkü hatanın toplamı: X + 2 (X i olarak değiştirilecek) tamsayı olarak sağlanmadı Ne yapmalıyım? –

+0

Artık kodunuz 'catch' deyiminden bir istisna atabilir. Daha fazla bilgi toplamak için logcat ve hata ayıklayıcısına aşina olmanız gerektiğini düşünüyorum. Hatayı kolayca tespit edebilir ve daha spesifik sorular sorabilirsiniz. –