Итак, я пытаюсь создать приложение для калькулятора (просто чтобы освоить разработку под Android), и во время некоторых испытаний я заметил, что преобразование parseInt из «String tack1» вызывает сбой приложения. Может кто-нибудь сказать мне, почему? Я не могу понять это, и я уже давно ищу в Интернете. (хе-хе, я новичок, поэтому, пожалуйста, будьте полегче). В приведенном ниже коде я изменил пару строк, чтобы было очевидно, что именно он должен печатать, но все равно происходит сбой. Вот код:
equals.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
oC = 1; //operator checker is on 1 (for plus)
switch(oC){ //check for operator clicked
case 0: break;
case 1:
tack1 = "1"; //INSERTED THIS TO MAKE OUTPUT OBVIOUS
tack1 = tack1.trim(); tack2 = tack2.trim(); //INSERTED BEFORE TO DEAL WITH WHITESPACE
numOne = Integer.parseInt(tack1); //CRASHES HERE
answer.setText(numOne);
modeChecker = 0; oC = 0;break;
ЗАМЕЧАНИЯ ПО ПРОГРАММЕ (некоторые комментарии повторяются и другие вещи):
Тэкс1 = "1"; сделать вывод очевидным
tack1.trim () предназначен для работы с пробелами
Да, все, что находится в поле, - это число и целое число (даже не отрицательное целое)
Да, numOne является целым числом и определено выше (не в указанном здесь коде)
Извините, что отступы все перепутаны (после случая 1) из-за комментариев, которые я добавил
Это раздел моего метода onClick, поэтому закрывающие скобки здесь не включены.
Может кто-нибудь помочь мне?
СПАСИБО: D