ps34
ps34

Reputation: 183

Passing values from main class to other classes in Java

I'm on a project that requires passing values from main class to other classes. All of the classes are correctly working when they have their main functions. However, my project should have only one main class that calls other functions in other classes.

An example for main and another class is below. I want to scan the input through main class and pass it to parse class. Current implementation gives two error which are:

Exception in thread "main" java.lang.NullPointerException
    at url.checker.Parse.GetInput(Parse.java:16)
    at url.checker.Main.main(Main.java:14)
Java Result: 1

Given input: -url=google.com,-time=5,[email protected]

Main.java:

    package url.checker;

    import java.util.Scanner;

        public class Main {

          public static void main(String[] args) 
          {


            Scanner in = new Scanner(System.in);
            System.out.println("Enter the parameters as '-url=' , '-time=' , '-email='.");
            Parse.s = in.nextLine();
            Parse.GetInput(Parse.s);
          }
      }

Parse.java:

        package url.checker;
        import java.util.Scanner;

        public class Parse 
        {
          static String s;
          static String result[];

          public static void GetInput(String s)
          {
            int i;

            for(i=0;i<3;i++)
            {
              if (s.startsWith("-url="))
                result[0] = s.substring(5, s.length());
              else if (s.startsWith("-time="))
                result[1] = s.substring(6, s.length());
              else if (s.startsWith("-email="))
                result[2] = s.substring(7, s.length());
              else
                System.out.println("You didn't give any input.");
            }
          }
        }

Thank you very much for your help.

Upvotes: 1

Views: 3736

Answers (1)

rocketboy
rocketboy

Reputation: 9741

 static String result[];

You never initialized the array; Since its a static it gets initialized to null by default.

Initialize using static String[] strings = new String[10];. This will hold 10 elements of String.

Upvotes: 2

Related Questions