2016-04-10 1 views
-3

Я работаю над простым калькулятором Я все еще новичок и мало знаю о java или android однако каждый раз, когда я нажимаю кнопку, приложение падает! что не так с кодом?Что случилось с моим кодом? каждый раз, когда я нажимаю приложение сбой

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), как один на CaSiO калькулятор. Я, возможно, это нужно для школы нравится: F (X) = X^2 + X * 4 - 3

+1

Просим выслать ваш логин и другой код вашей деятельности. –

+0

. Выполните вывод 'adb logcat' и поместите здесь трассировку стека. –

+0

Ваш новый код не компилируется, поэтому он не может вообще сбой ... –

ответ

0

Одна проблема, которую я вижу, что внешние try промахов соответствующий catch блок и не проверить, введен ли правильный номер в Et2 и Et3. Integer.parseInt выдаст исключение, если текст не является правильным номером.

+0

Я забыл удалить внешнюю попытку, потому что я удалил внешний catch Я удалил его, потому что это было бессмысленно Я просто хотел знать, где проблема –

+0

I try try { 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 и отладчиком, чтобы собрать дополнительную информацию. Вы можете легко обнаружить ошибку и задать более конкретные вопросы. –