![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| PrinceOFF |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 21.10.2013 Где: Минск, РБ Репутация: нет Всего: нет |
Такая задача на javarush:
Что я понял из условия? Надо просуммировать стоимость apple и apple2 и вывести сумму с помощью System.out.println("Apples price is " + Apple.applesPrice). Решил (для себя) эту задачу так:
Поскольку ничего трогать нельзя кроме статического метода addPrice(int applesPrice): 1. В строке 15 обратился к статической переменной applesPrice (через имя статического класса) и присвоил ей новое значение, которое состоит из суммы полученного методом значения "50" (строка 5) и первоначального значения "0" (строка 12). 2. В строке 16 вернул переопределенное полученное значение applesPrice, равное "50". Т.е. applesPrice в строке 12 уже должно быть равно "50". 3. Повторный вызов метода addPrice(int applesPrice) из строки 7 передает ему значение "100". Строка 15 суммирует полученное "50"+ переданное "100" и вновь переопределяет переменную applesPrice на новое значение "150". 4. В строке 16 вновь возвращается переопределенное полученное значение applesPrice, равное "150" в строку 12. 5. В строке 8 на экран выводится значение applesPrice "150". По-моей логике задача решается так, но javarush ругается, что решение не верно... Ну, ХЗ... Я, правда, тип метода addPrice(int applesPrice) изменил, чтобы return добавить... Может по-другому надо было..? Не прошу давать решение, если вы видите его по другому, и писать код. Прошу словами указать, что я не верно понял в условии задачи или реализации методов и переменных с модификатором stastic. Это сообщение отредактировал(а) PrinceOFF - 24.3.2016, 16:48 |
||||
|
|||||
| zera |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 19.1.2006 Где: saint-petersburg Репутация: нет Всего: 9 |
так а зачем return?
|
|||
|
||||
| PrinceOFF |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 21.10.2013 Где: Минск, РБ Репутация: нет Всего: нет |
Это шутка? Если нет, то return возвращает результат работы метода... В данном случае переопределяет значение статической переменной. Или вы намекаете, что можно без return как-то с помощью метода переопределить значение статической переменной? Это сообщение отредактировал(а) PrinceOFF - 25.3.2016, 11:25 |
|||
|
||||
| vvm |
|
|||
|
Unregistered |
||||
|
||||
| vvm |
|
|||
|
Unregistered |
return убрать, оставить как было void.
Вы модифицируете статическую переменную. То есть обращаетесь к ней по ссылке. Соответственно будет модифицирована переменная класса, а не переменная объекта. Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
| PrinceOFF |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 21.10.2013 Где: Минск, РБ Репутация: нет Всего: нет |
Всем спасибо. Задачу я уже решил без модификатора return.
В одну строчку, оказывается можно было:
Ну, на то она и учеба. Кстати, vvm, хорошо, что я зашел на форум чтобы написать о том, что ответ я уже нашел, иначе было бы confuse... Я в первом посте писал "Не прошу давать решение... Прошу словами указать...". Мне не важен ответ в виде кода, как таковой, мне важно самому понять, что задачу мОжно сделать иначе и получить устное указание "куда копать"...)) |
|||
|
||||
| _zorn_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1076 Регистрация: 21.8.2007 Репутация: нет Всего: 12 |
||||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |