Int не может быть разыменованным Java - PullRequest
1 голос
/ 11 марта 2019
    try
    {
        if (expr.contains("+"))
        {
            return (Integer.parseInt(left) + Integer.parseInt(right)).toString();;
        }
        else if (expr.contains("*"))
        {
            return (Integer.valueOf(left) * Integer.valueOf(right)).toString();
        }
        else if (expr.contains("-"))
        {
            return (Integer.parseInt(left) - Integer.parseInt(right)).toString();
        }
        else
        {
            return (Integer.parseInt(left) / Integer.parseInt(right)).toString();
        }
    }
    catch (java.lang.Exception e)
    {
    }

Я пытаюсь выполнить операции с целыми числами, затем преобразовать int в строку, но получаю int, не может быть разыменована ошибка.

1 Ответ

7 голосов
/ 11 марта 2019

Integer.parseInt(left) - Integer.parseInt(right) является int.int является примитивом, поэтому у него нет методов, поэтому вы не можете вызвать toString() для значения int.

Вместо этого вы можете использовать метод static Integer.toString().

Например:

return Integer.toString(Integer.parseInt(left) - Integer.parseInt(right));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...