Как зовут кота?

  • 4
  • Недоступна
Первое, что получает человек/робот/переменная после своего рождения/появления/создания — имя. Без имен и названий нашим мозгам как-то некомфортно. Придем им на помощь: создадим специальный программный именователь — метод, который будет устанавливать значение переменной private String name или попросту называть эту самую переменную.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (72)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Максим5 уровень, Москва
13 сентября, 02:51
c///ка, medium задача в одну строку... я с легкими дольше мучался... кажется, пора спать...
Anton Kasatkin5 уровень, Москва
27 августа, 12:44
По своей глупости не правильно интерпретировал задание в своей голове и пытался прилепить "Жужик" к "Безымянный кот". Хотел увидеть в консоли : "Безымянный кот Жужик" ))) По факту нужно просто вывести вместо "Безымянный кот" значение "Жужик". Сразу стало легче. Всего то нужно указать (этот/this) переменную.
Olja Horoshilova11 уровень, Москва
6 августа, 21:26
return this.name = name - сделала так и ошибка. Почему здесь нельзя оставить return?
Виктор9 уровень, Санкт-Петербург
14 августа, 07:43
Потому что метод setName() помечен как void, то есть он ничего не возвращает.
Егор Киселёв13 уровень, Омск
4 августа, 18:24
Поясню для тех, кто "не понял" или "сделал, но всё равно не понял". В методе main должно быть всё понятно. Мы создали новый объект класса Cat, после чего обратились к методу setName и собственно передали параметр "Жужик" ему. Тут всё просто, но теперь нам надо в методе setName присвоить только что полученный параметр сюда:
private String name = "безымянный кот";
Но тут возникает проблема. Мы получили переменную name и наша переменная тоже имеет имя name. Конструкция name=name, понятное дело, работать не будет. Тут на помощь приходит ключевое слово this. О нём уже говорили в лекциях, но пока не столкнёшься на практике десятки раз, не запомнишь. Слово this, как вы знаете, переводится как "Этот". Под "Этим" мы понимаем объект cat, который и вызвал метод. Получаем элементарную, но очень важную для понимания конструкцию:
this.name = name;
Вот прекрасная картинка для понимания. Ничего сложного: Изображение взято с этой статьи. Обязательно почитайте, чтобы потом никаких вопросов по этому поводу не было, всё подробно расписано: https://javarush.ru/groups/posts/608-kljuchevoe-slovo-this-v-primerakh
Ivan8 уровень, LA
5 августа, 14:17
как сделать чтобы this работало с integer? или когда мы змее одинаковые значения int, что нужно делать?
Den Shishkin5 уровень, Москва
11 июня, 21:03
Ломал бошку, прикол в том что вначале написал верно, но подумал что что-то не так и удалил, надо было попробовать...и вот...боясь лохануться - я лоханулся на овер 100500 попыток =|....Самое забавное то что просо был не внимателен, спасибо коментам что расписали что к чему =) и ведь реал, у кота есть имя, надо его просто сравнять. 🤦‍♂️🤦‍♂️🤦‍♂️
Dmitry Lymarev7 уровень, Гомель
14 сентября, 14:24
Тоже самое было, с начала написал , потом удалил))
Евгений5 уровень, Минск
5 июня, 17:39
обозначить (это используем) и уравнять имена.
Pavel Elizarov9 уровень, Нижний Новгород
4 мая, 09:26
this.name = "Жужик"; - И так сойдёт😆😆😆 но не удовлетворяет последнему требованию))))))
Anton Podoynikov8 уровень, Москва
7 мая, 20:31
= name
Pavel Elizarov9 уровень, Нижний Новгород
9 мая, 13:05
Ну тут была нотка юмора) смысл был пойман после провала)
Антон Власов6 уровень, Ижевск
28 марта, 09:41
Попытаюсь написать, свой взгляд на задачу, возможно это поможет тем кто не понял. В этой строке присваиваем значение переменной name класса private String name = "безымянный кот"; затем описываем метод setName. public void setName(String name) { this.name = name; // в этой строке указываем что переменной класса присвоить значение параметра. В этой строке передаем новое значение cat.setName("Жужик"); и выводим переменную name класса cat System.out.println(cat.name)
hidden #22742094 уровень
25 марта, 15:04
Понял что ничего не понял, идем дальше !!!
Vyacheslav Trembitsky9 уровень, Москва
7 апреля, 14:47
мое типичное состояние после каждой лекции 🤪
Anatolii Bidenyi7 уровень, Fair Lawn
7 марта, 20:35
С первого раза решил даже не подсматривал В шоке с себя ) Вот information может пригодится ) Java для начинающих. Урок 19: Ключевое слово this.