-3

In this simple code can anyone explain me what's wrong ?

public class Main {

public class UserValidator {
    public void validateName(String name) {
        if (name == null)
            System.out.println("Set your name");
        else {
            System.out.println("User name: " + name);
        }
    }

    public class Application {
        public static void main(String[] args) throws java.lang.Exception {
            System.out.println("Starting");

            String name = "Adam";
            UserValidator validator = new UserValidator();
            validator.validateName(name);
        }
      }
    }
  }

in this i have /Main.java:17: error: non-static variable this cannot be referenced from a static context UserValidator validator = new UserValidator(); ^ 1 error

and in the second one version i have this error

public class UserValidator {
 public void validateName(String name) {
    if (name == null)
        System.out.println("Set your name");
    else {
        System.out.println("User name: " + name);
    }
}

public class Application {
    public static void main(String[] args) throws java.lang.Exception {
        System.out.println("Starting");

        String name = "Adam";
        UserValidator validator = new UserValidator();
        validator.validateName(name);
    }
  }
}

Error: Main method not found in class UserValidator, please define the main method as: public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application

i try to learn and understand but i don't know where i made mistake

EurekaII
  • 3
  • 5

1 Answers1

0

If you want your code to work, you need to pull the "Application" class from the "UserValidator" class. After that, you need to create an additional class "UserValidator" and copy the "validateName" method into it. Class "Application":

public class Application {
    public static void main(String [] args) {
        System.out.println("Starting");

        String name = "Adam";
        UserValidator validator = new UserValidator();
        validator.validateName(name);
    }
}

Class "UserValidator":

public class UserValidator {
    public void validateName(String name) {
        if (name == null)
            System.out.println("Set your name");
        else {
            System.out.println("User name: " + name);
        }
    }
}
Viktor
  • 3
  • 2