Вопрос №175 от пользователя user-2ef819a3e9c40b40 в уроке «Модуль 2. Урок 3. Работа с экземплярами в Java.», курс «Введение в Java»
Помогите не могу пройти урок. Во-первых, что значит "создайте метод"? Про методы не было ни слова.
Далее - оба варианта компилятся, но первый запускается с ошибкой, второй нормально, но ни один не подходит как успешный. Покажите что не так. Спасибо.
1
public class Main {
public static House createHouse(){
// BEGIN
House house = new House();
house.address = "str1";
house.countOfFloors = 5;
house.appartmentsCount = 1;
house.owner = "Max";
// END
return house;
}
}
2
class Main {
public static void main(String... args) {
House house = new House();
house.address = "str1";
house.countOfFloors = 5;
house.appartmentsCount = 1;
house.owner = "Max";
}
}
Помогите не могу дальше сдвинуться принципиально не понимаю в чем дело
Добрый день, я сегодня гляну, сейчас в дороге. Заодно если можно добавьте меня в Skype (b0noii).
Первое Ваше решение практически верное на 100 процентов с небольшим замечанием:
House house = new House();
house.address = "str1";
house.countOfFloors = 5;
house.appartmentsCount = 10;
house.owner = "Max";
appartmentsCount не 1 а 10ть.
Плюс класс House в коде не реализован, для прохождения задачи его так же нужно реализовать (взгляните на файл House.java).
Спасибо всем, двигаемся дальше )
Решение система приняла, однако осталось пара вопросов.
1) Что такое return house; (если это будет в следующих уроках, то ладно) 2) После успешной компиляции ввожу java Main, и получаю следующее:
root@d196e1c9db17:/usr/src/app# java Main
Error: Main method not found in class Main, please define the main method as:
public static void main(String[] args)
or a JavaFX application class must extend javafx.application.Application
Спасибо!
1) ключевое слово return
возвращает ссылку на созданный в методе объект house
2) описанная вами ошибка говорит, что в вашем классе Main
нет метода main
, который используется при запуске программы виртуальной машиной (команда java
). Но для проверки программы на правильность вы не должны запускать ваш класс с помощью команды java
. Когда вы нажимаете кнопку Run
, выполняются следующие команды: javac Test.java; java Test
(смотрите файл Makefile
). Т.е. происходит компиляция Test.java
, а потом выполнение класса Test
. А в классе Test.java
есть метод main
, с которого и начинается выполнение программы.
Роман, у Вас один исполняемый файл. В котором прописан void. Вячеслав про это еще не рассказывал но думаю ждать осталось не долго.
Никак не пойму, что же делаю не так. В класс main.java пропечатал это:
public class Main {
public static House createHouse();
House house = new house();
house.address = "str1";
house.countOfFloors = 5;
house.appartmentsCount = 10;
house.owner = "Max";
return house;
}
}
Потом взял класс house.java впечатал это:
public class House {
public static House createHouse();
House house = new house();
house.address = "str1";
house.countOfFloors = 5;
house.appartmentsCount = 10;
house.owner = "Max";
return house;
}
}
Компиляция с пачкой ошибок. Где что не так подскажите плиз?
Доброе утро, Станислав. Скинули бы лог того, что пишет компилятор. Так точнее можно ответить. Но вообще часть ошибок можно и так назвать:
- Вы указали, что файлы с исходными кодами называются
main.java
иhouse.java
. Имена файлов должны полностью совпадать с именами открытых(public
) классов, описываемых в этих файлах(Main
иHouse
соответственно). Регистр важен. - Вы вызываете конструктор (
new house()
) для классаHouse
. Имя конструктора должно полностью совпадать с именем класса, в котором этот конструктор находится. Регистр важен. - Вы пытаетесь в классе
Main
обратиться к полям экземпляра классаHouse
, которых в Вашем коде не существует. Это всё не будет работать, пока Вы не опишете классHouse
в соответствии с заданием. Как это делается описывается в лекции.
По факту, в данном задании класс
Human
только описательный класс. У него будет ряд свойств(полей
address
,
countOfFloors
,
appartmentsCount
,
owner
), но никаких методов не нужно. Вам нужно его переписать полностью. Класс
Main
в общем реализован правильно. Только исправьте то, что я написал в первых двух пунктах.
Спасибо, все ок, заработало.
Используйте Хекслет по максимуму!
- Задавайте вопросы по уроку
- Проверяйте знания в квизах
- Проходите практику прямо в браузере
- Отслеживайте свой прогресс
Зарегистрируйтесь или войдите в свой аккаунт
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.







