Вопрос №1161 от пользователя Денис Олейник в уроке «Модуль 6. Урок 3. Преобразование строк в числа и обратно.», курс «Введение в Java»
`if (chars.length == 0) return 0; int result = 0; for (int i = 0; i < 3 && i < chars.length; i++) { if (i == 0 && chars[i] == '-') continue; final char ch = chars[i]; final int r = Integer.valueOf(String.valueOf(ch)); result *= 10;//что делает result += r;
}
return chars[0] == '-' ? -result : result; //что делает
`
можете пояснить код пожаусто
? - Условная операция и возвращает true или false: Если просто, то оно смотрит стоит-ли первым елементом масива char '-', если true возвращает -result (в консоли: -12), если false возвращает result (в консоли: 12)
Спасибо, он за меняет else if да?
Если рассмотреть ваш пример: if (chars[0] == '-') { return -result; } else { return result; } то такая запись, как по мне, неявная и ошибку сделать очень легко
disiol, да, тринарный оператор ?:
заменяет else if
Используйте Хекслет по максимуму!
- Задавайте вопросы по уроку
- Проверяйте знания в квизах
- Проходите практику прямо в браузере
- Отслеживайте свой прогресс
Зарегистрируйтесь или войдите в свой аккаунт
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.







