Зачем нам ставить двойные кавычки в конце? - PullRequest
0 голосов
/ 30 апреля 2019

Как я пытаюсь создать калькулятор.Почему необходимо добавлять двойные пустые кавычки после firstnum и secondnum.Это конвертер или что-то еще.Потому что то, что я вижу, это просто пустое между двумя кавычками.

eqaul.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if(ADDITION || SUBTRACTION || MULTIPLICATION || DIVIDE)
                secondnum = Float.parseFloat(editText.getText() + "" );
            if(ADDITION){
                editText.setText(firstnum + secondnum + "");
                ADDITION = false;
            }

Ответы [ 4 ]

1 голос
/ 30 апреля 2019

firstnum и secondnum относятся к типу Float. Похоже, добавление их приведет к Float, метод setText () принимает String, а не Float, при добавлении + "" java автоматически преобразует добавление 2 Float встрока, подумайте, если бы у вас было:

editText.setText(5 + " apples");

Тогда java подумает, что вы хотите иметь строку "5 яблок", поэтому он преобразует int перед строкой в ​​строковое представление и добавляет его к "яблоки».

1 голос
/ 30 апреля 2019

Это для принудительного преобразования вашего целочисленного значения (результат firstnum + secondnum) в строку, что setText() требует в качестве аргумента.Также есть setText(), который принимает int (вы используете float, так что в любом случае это не так), но этот int будет использоваться в качестве идентификатора строкового ресурса, который не тот, который вам нужен, следовательно, требуется преобразование в строку.Это также просто меньше печатать.Это в основном эквивалентно замене:

editText.setText(firstnum + secondnum + "");

на:

editText.setText(String.valueOf(firstnum + secondnum));
0 голосов
/ 30 апреля 2019

+ является перегруженным оператором, когда он добавляется между двумя числами, но добавление "" сделает его строкой

0 голосов
/ 30 апреля 2019

setText хочет строку. если вы хотите получить строку из int, вы можете использовать String.valueOf(i) или i+"".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...