Пожалуйста, помогите направить мозг в правильное мышление с этим заданием. Совсем не поняла ,что и как нужно выполнить в данном задании. Это пока у меня первое задание, над которым такой ступор:( Сколько раз не вглядывалась в примеры в лекции, в задание и в гугл на тему области видимости переменных в Java, хоть убей, не поняла в чем проблема в задании, и как ,предполагается, ее правильно решить нужно. Почему то эта лекция мне, ну совсем не далась. Прошу, обьясните , пожалуйста, или хотя бы подтолкните в правильном направлении! Спасибо!
П.С. все настолько плохо с пониманием лекции, что даже нет вариантов вразумительных .
Мария
4 уровень
Пожалуйста, помогите понять задачу и ее решение!
Архивный
Комментарии (8)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Альберт
26 декабря 2017, 15:15
Я сперва изменил переменную age класса Person на static, после присвоил значение "Person.age = age;" в конце метода adjustAge, результат получился 20, 40, 40, но задача не прошла проверку, переделал через this. Формулировка "исправьте ошибку" достаточно неоднозначна, зато позволяет проверять ряд фич, пока одна не пройдёт проверку :)
0
Sergey Bondarec
17 декабря 2017, 20:08
Здесь нужно больше задач на такую тему, хоть она и легкая довольно (просто нужно набить татушку, ой опыта больше), но весьма важная для дальнейшего обучения.
Было бы неплохо если больше на видимость дали задач.
+1
Кедель Михаил
11 сентября 2017, 19:32
*Коммент не в тему*
Помню на первых уровнях мне тоже было трудно(очень) , но сейчас когда я на 32 уровне я даже не могу тонко объяснить что надо сделать ведь сейчас мне это кажется довольно просто .Just don't give up и потом ты часто будешь писать this даже не задумываясь.
Прости если дизморалил.
Вот кстати хорошие видео уроки которые лично мне помогли видео уроки.
Всем мир.
+7
Игорь Full Stack Developer
25 августа 2017, 17:53
Профессор Нудлс ранее давал ссылку на полезный ресурс. Предлагаю прочитать эту статью: http://wikijava.it-cache.net/index.php@title=Glava_5_Thinking_in_Java_4th_edition.html#.D0.9A.D0.BB.D1.8E.D1.87.D0.B5.D0.B2.D0.BE.D0.B5_.D1.81.D0.BB.D0.BE.D0.B2.D0.BE_this
Кроме того, рекомендуется последовать рекомендациям разработчиков курса и установить для себя программу: https://www.jetbrains.com/idea/?fromMenu
При написании кода она будет подсказывать как исправлять ошибки такого рода.
0
Pomidor
20 августа 2017, 13:03
1. посмотри внимательно на метод adjustAge класса Person, что именно он изменяет?
2. как видим он изменяет переменную -age-, которая подается в качестве параметра метода, а изменить нужно совсем другое - значение поля класса -age- (да у них одинаковые имена -age-)
3. из-за одинаковых названий первая перекрывает вторую.
4. чтобы изменить поле класса, нужно одно из -age- пометить словом this
5. this.age = age + 20;
6. а теперь идите и гуглите "слово this java"
+47
uncle_archibald
3 апреля 2018, 16:30
А почему не получается сделать так: " age = this.age + 20;"?
0
Pomidor
5 апреля 2018, 15:20
1. подумайте в какую ячейку вы присваиваете?
2. чтобы лучше понимать процессы, используйте System.out.println( .... ), а внутри укажите, что вас интересует... или другой вариант: почитайте про функцию debug в IDEA, по сути одно и тоже... Выведите себе на консоль ДО и ПОСЛЕ изменений значения: (this.age) и (age)
3. дополнительно: плохая практика переприсваивать параметр, запутывает код, лучше использовать новые переменные
+1
Sergey
10 июля 2020, 12:33
Скопировал "слово this java" из 6 пункта.
Первая ссылка в гугле на javarush - Ключевое слово this {в примерах}
Спасибо!
+3