private void setCellColoredNumber(int x, int y, int value) {
Color color = getColorByValue(value);
String str = value > 0 ? "" + value : "";
setCellValueEx(x, y, color, str);
}
Почему в строке String str = value > 0 ? "" + value : ""; не требуется приведение числа к строке??? Я решил так:
private void setCellColoredNumber (int x, int y, int value) {
String s = null;
if (value==0){
setCellValueEx(x,y,getColorByValue(value), s);
} else s = Integer.toString(value);
setCellValueEx(x,y,getColorByValue(value),s);
}
Есть ли у меня ошибка?
Anonymous #3369000
21 уровень
Почему не требуется приведение типов?
Обсуждается
Комментарии (9)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Egor Amelchenko
8 апреля, 09:44
"" + value. Сложение числа и строки – один из способов преобразования числа в строку.
+2
Anonymous #3369000
14 апреля, 15:20
Спасибо, а почему мой код не сработал?
0
Anonymous #3303140
14 апреля, 16:44
А что требуется передать в метод по условию? Ты не прикрепил задачу с требованиями.
Сейчас разница в том, что у тебя s = null, а в варианте с тернарым оператором s = "".
0
Egor Amelchenko
16 апреля, 09:10
Тут есть ошибка, а именно: пропущена фигурная скобка ( { ) после else.
Вообще для чистоты используйте тернарный оператор, он очень удобен. Если нет, то:
ИЛИ:
0
Anonymous #3369000
18 апреля, 15:54
Я понял, что основная ошибка была в том, что {" " != null}, это разные вещи... Важно было использовать именно пустую строку ("").
0
Anonymous #3369000
18 апреля, 15:55
А так код получается рабочий?!
0
Anonymous #3369000
18 апреля, 15:56
s = Integer.toString(value); такое преобразование не навредило коду?!
0
Anonymous #3369000
18 апреля, 15:57
Спасибо за помощь!
0
Egor Amelchenko
18 апреля, 17:17
Я не знаю условия вашего задания. Выше я указал на ошибку в том кусочке кода, который вы прислали.
Нет, это ещё один из способов преобразования числа в строку.
0