Ребят, не могу понять в чем ошибка, решаю очень долго задачу, в idea все в порядке и никаких ошибок, но онлайн компилятор на сайте пишет ошибку!
public class Program {
public static void main(String[] args){
Human Human =new Human();
Human.sayHello();
}
public static class Human{
public String name;
public int age;
Human(){
this.name="Василий";
this.age=21;
}
public void sayHello(){
System.out.println("Привет,меня зовут"+name+",мне"+age+"лет");
}
}
}
Мой код сверху
Условия снизу
Cоздайте public static (мы делаем класс статическим исключительно для корректной работы проверяющей системы) класс Human, содержащий поля String name и int age.
У класса Human должен быть метод public void sayHello(), который выводит в консоль, “Привет, меня зовут {name}, мне {age} лет.”.
В методе main создайте объект класса Human, заполните его поля и вызовите метод sayHello(). Требования:
- Класс Human должен иметь поля String name и int age
- В классе Human должен быть публичный конструктор конструирующий поля String name и int age
- Метод sayHello() не должен ничего возвращать
- В методе main должен быть создан объект класса Human
- Поля объекта должны быть заполнены
- У объекта класса Human должен быть вызван метод sayHello()
- Класс Human должен быть статическим, метод main находится вне этого класса
Результат онлайн компилятора:
Ваш ответ не прошел тест!
[ERROR] COMPILATION ERROR :
[ERROR] Task102.java:[123,19] modifier static not allowed here
[ERROR] Task102.java:[119,22] non-static variable this cannot be referenced from a static context
[ERROR] Task102.java:[118,24] Illegal static declaration in inner class Task102.Program
modifier 'static' is only allowed in constant variable declarations
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project test-project-template: Compilation failure: Compilation failure:
[ERROR] Task102.java:[123,19] modifier static not allowed here
[ERROR] Task102.java:[119,22] non-static variable this cannot be referenced from a static context
[ERROR] Task102.java:[118,24] Illegal static declaration in inner class Task102.Program
[ERROR] modifier 'static' is only allowed in constant variable declarations
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http:/MojoFailureException
Ответы (1 шт):
Автор решения: wigravy
→ Ссылка
Не все условия задачи выполнены:
- У Вас нет публичного конструктора с возможностью задать name и age создаваемого класса Human.
- Ваш вывод в консоль не совсем как в задании.
public class Task102 {
public static void main(String[] args) {
Human human = new Human("Алексей", 31);
human.sayHello();
}
public static class Human {
private String name;
private int age;
public Human(String name, int age) {
this.name = name;
this.age = age;
}
public void sayHello() {
System.out.println(String.format("Привет, меня зовут %s, мне %d лет.", name, age));
}
}
}