How can I access an object from another method in java?

I have a list of objects that I created in the create () method, and I want to access it so that I can use it in the question () method.

Is there any other way to do this that I probably missed? Am I messing up something? If not, how can I do this to get the same functionality as below?

private static void create() {
    Scanner input = new Scanner(System.in);

    int length,offset;

    System.out.print("Input the size of the numbers : ");
     length = input.nextInt();

     System.out.print("Input the Offset : ");
     offset = input.nextInt();

    NumberList numberlist= new NumberList(length, offset);




}


private static void question(){
    Scanner input = new Scanner(System.in);

    System.out.print("Please enter a command or type ?: ");
    String c = input.nextLine();

    if (c.equals("a")){ 
        create();       
    }else if(c.equals("b")){
         numberlist.flip();   \\ error
    }else if(c.equals("c")){
        numberlist.shuffle(); \\ error
    }else if(c.equals("d")){
        numberlist.printInfo(); \\ error
    }
}
+6
source share
3 answers

Although interesting, both of these answers ignored the fact that the questionnaire uses static methods. Thus, any class or member variable will not be accessible to the method unless they are also declared static or static. This example:

public class MyClass {
    public static String xThing;
    private static void makeThing() {
        String thing = "thing";
        xThing = thing;
        System.out.println(thing);
    }
    private static void makeOtherThing() {
        String otherThing = "otherThing";
        System.out.println(otherThing);
        System.out.println(xThing);
    }
    public static void main(String args[]) {
        makeThing();
        makeOtherThing();
    }
}

, , , ...

public class MyClass {
    private String xThing;
    public void makeThing() {
        String thing = "thing";
        xThing = thing;
        System.out.println(thing);
    }
    public void makeOtherThing() {
        String otherThing = "otherThing";
        System.out.println(otherThing);
        System.out.println(xThing);
    }
    public static void main(String args[]) {
       MyClass myObject = new MyClass();
       myObject.makeThing();
       myObject.makeOtherThing();
    }
}
+3

. create() create().

public class SomeClass {
    NumberList numberlist; // Definition
    ....

create() :

numberlist= new NumberList(length, offset);  // Initialization
+2

numberList :

NumberList numberList;

create() , :

numberList = new NumberList(length, offset);

, .

+2

All Articles