Ребят, не могу понять в чем ошибка, решаю очень долго задачу, в 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(). Требования:

  1. Класс Human должен иметь поля String name и int age
  2. В классе Human должен быть публичный конструктор конструирующий поля String name и int age
  3. Метод sayHello() не должен ничего возвращать
  4. В методе main должен быть создан объект класса Human
  5. Поля объекта должны быть заполнены
  6. У объекта класса Human должен быть вызван метод sayHello()
  7. Класс 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

Не все условия задачи выполнены:

  1. У Вас нет публичного конструктора с возможностью задать name и age создаваемого класса Human.
  2. Ваш вывод в консоль не совсем как в задании.
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));
        }
    }
}
→ Ссылка