JAVA: Nullzeiger Ausnahmefehler

Hallo, ich schreibe nur irgendeinen Code und bekomme immernoch eine Nullzeiger-Ausnahme und aus irgendeinem Grund stoße ich nur auf eine mentale Wand.

Nun weiß ich, dass der Null-Zeiger ist, wenn der Wert, den er zu verwenden versucht, Null ist, aber ich kann nicht herausfinden, wie ich das Problem beheben kann. (Fehlerhafte Zeile ist * out.)

   public static void getMenuChoice(Dog s) {
      int LCV = 0;
     Scanner in = null;//create a scanner object
  do {
     System.out.println("Welcome to the Input Menu");
     System.out.println("1: Assign the name");
     System.out.println("2: Assign the owner");
     System.out.println("3: Assign the age");
     System.out.println("4: Assign the weight");
     System.out.println("5: Assign the breed");
     System.out.println("6: Assign the time");
     System.out.println("7: Display Dog Information");
     System.out.println("8: Quit");
     System.out.print("Choose a Menu Option => ");


     ****************int input = in.nextInt();*********************

     switch (input) {
        case 1:
           System.out.println("Please Enter the Dogs name");
           s.setDogName(in.next());
           break;
        case 2:
           System.out.println("Please Enter the Owners name");
           s.setOwnerName(in.next());
           break;
        case 3:
           System.out.println("Please Enter the Dogs age");
           s.setDogAge(in.nextDouble());
           break;
        case 4:
           System.out.println("Please Enter the Dogs weight");
           s.setWeight(in.nextDouble());
           break;
        case 5:
           System.out.println("Please Enter the Dogs breed");
           s.setDogName(in.next());
           break;
        case 6:
           System.out.println("Please Enter the Time");
           s.setTime(in.nextDouble());
           break;
        case 7:
           System.out.println(s);
           break;
        case 8:
           LCV = 8;
           break;
     }
  } while (LCV != 8);

}

2
Nun, Sie initialisieren Ihren Scanner ... außer null
hinzugefügt der Autor fge, Quelle
Ich denke, die wirkliche Frage ist, warum ist das mit C ++ markiert?
hinzugefügt der Autor Lawrence Aiello, Quelle
Ich denke, die wirkliche Frage ist, warum ist das mit C ++ markiert?
hinzugefügt der Autor Lawrence Aiello, Quelle
C ++ war ein vorgeschlagener Tag. Als ein sehr neues Mitglied der Community, neige ich dazu, mit den vorgeschlagenen Tags zu gehen.
hinzugefügt der Autor SynGaren NA, Quelle
C ++ war ein vorgeschlagener Tag. Als ein sehr neues Mitglied der Community, neige ich dazu, mit den vorgeschlagenen Tags zu gehen.
hinzugefügt der Autor SynGaren NA, Quelle
C ++ war ein vorgeschlagener Tag. Als ein sehr neues Mitglied der Community, neige ich dazu, mit den vorgeschlagenen Tags zu gehen.
hinzugefügt der Autor SynGaren NA, Quelle

6 Antworten

Ihr Scanner ist nicht initialisiert, Sie sollten es tun

Scanner in = new Scanner(System.in); //instead of  Scanner in = null;

Also wenn du es tust

in.nextInt();  //null.nextInt()

you are getting NullPointerException

public class NullPointerException erweitert RuntimeException

     

Wird ausgelöst, wenn eine Anwendung in einem Fall, in dem sich ein Objekt befindet, versucht, null zu verwenden   erforderlich. Dazu gehören:

     
      
  • Aufruf der Instanzmethode eines Null-Objekts.
  •   
  • Auf das Feld eines Nullobjekts zugreifen oder dieses ändern.
  •   
  • Die Länge von null als wäre es ein Array.
  •   
  • Auf die Slots von null zugreifen oder sie ändern, als wäre es ein Array.
  •   
  • Nullen wird geworfen, als wäre es ein Throwable-Wert.
  •   

Google Docs

2
hinzugefügt

Ihr Scanner ist nicht initialisiert, Sie sollten es tun

Scanner in = new Scanner(System.in); //instead of  Scanner in = null;

Also wenn du es tust

in.nextInt();  //null.nextInt()

you are getting NullPointerException

public class NullPointerException erweitert RuntimeException

     

Wird ausgelöst, wenn eine Anwendung in einem Fall, in dem sich ein Objekt befindet, versucht, null zu verwenden   erforderlich. Dazu gehören:

     
      
  • Aufruf der Instanzmethode eines Null-Objekts.
  •   
  • Auf das Feld eines Nullobjekts zugreifen oder dieses ändern.
  •   
  • Die Länge von null als wäre es ein Array.
  •   
  • Auf die Slots von null zugreifen oder sie ändern, als wäre es ein Array.
  •   
  • Nullen wird geworfen, als wäre es ein Throwable-Wert.
  •   

Google Docs

2
hinzugefügt

Ihr Scanner ist nicht initialisiert, Sie sollten es tun

Scanner in = new Scanner(System.in); //instead of  Scanner in = null;

Also wenn du es tust

in.nextInt();  //null.nextInt()

you are getting NullPointerException

public class NullPointerException erweitert RuntimeException

     

Wird ausgelöst, wenn eine Anwendung in einem Fall, in dem sich ein Objekt befindet, versucht, null zu verwenden   erforderlich. Dazu gehören:

     
      
  • Aufruf der Instanzmethode eines Null-Objekts.
  •   
  • Auf das Feld eines Nullobjekts zugreifen oder dieses ändern.
  •   
  • Die Länge von null als wäre es ein Array.
  •   
  • Auf die Slots von null zugreifen oder sie ändern, als wäre es ein Array.
  •   
  • Nullen wird geworfen, als wäre es ein Throwable-Wert.
  •   

Google Docs

2
hinzugefügt

Eine NullPointerException bedeutet, dass Sie eine Variable, die nicht instanziiert wurde (eine Variable, die auf null zeigt), dereferenzieren. Hier ist Ihre Deklaration von in :

Scanner in = null; 

Sie haben hier eine Nullvariable, die Sie dann dereferenzieren:

int input = in.nextInt();

Dies verursacht Ihre NullPointerException. Sie müssen in irgendwie instanziieren

Scanner in = new Scanner(System.in);
1
hinzugefügt

Eine NullPointerException bedeutet, dass Sie eine Variable, die nicht instanziiert wurde (eine Variable, die auf null zeigt), dereferenzieren. Hier ist Ihre Deklaration von in :

Scanner in = null; 

Sie haben hier eine Nullvariable, die Sie dann dereferenzieren:

int input = in.nextInt();

Dies verursacht Ihre NullPointerException. Sie müssen in irgendwie instanziieren

Scanner in = new Scanner(System.in);
1
hinzugefügt

Eine NullPointerException bedeutet, dass Sie eine Variable, die nicht instanziiert wurde (eine Variable, die auf null zeigt), dereferenzieren. Hier ist Ihre Deklaration von in :

Scanner in = null; 

Sie haben hier eine Nullvariable, die Sie dann dereferenzieren:

int input = in.nextInt();

Dies verursacht Ihre NullPointerException. Sie müssen in irgendwie instanziieren

Scanner in = new Scanner(System.in);
1
hinzugefügt