JAVA: Null Pointer Uitzonderingsfout

Hallo allemaal. Ik schrijf wat code en blijf een lege extenderuitzondering krijgen en om de een of andere reden raakte ik gewoon een mentale muur.

Nu weet ik wel dat null pointer is als de waarde die het probeert te gebruiken nul is, maar ik kan er niet achter komen hoe ik het probleem kan oplossen. (Foutlijn is uit *)

   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
U initialiseert uw Scanner niet ... Behalve null
toegevoegd de auteur fge, de bron
Ik denk dat de echte vraag is waarom is dit getagde c ++?
toegevoegd de auteur Lawrence Aiello, de bron
Ik denk dat de echte vraag is waarom is dit getagde c ++?
toegevoegd de auteur Lawrence Aiello, de bron
c ++ was een voorgestelde tag. Als een heel nieuw lid van de community ga ik meestal met de suggestie-tags.
toegevoegd de auteur SynGaren NA, de bron
c ++ was een voorgestelde tag. Als een heel nieuw lid van de community ga ik meestal met de suggestie-tags.
toegevoegd de auteur SynGaren NA, de bron
c ++ was een voorgestelde tag. Als een heel nieuw lid van de community ga ik meestal met de suggestie-tags.
toegevoegd de auteur SynGaren NA, de bron

6 antwoord

Uw Scanner niet geïnitialiseerd, moet u doen

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

Dus wanneer je het doet

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

you are getting NullPointerException

openbare klasse NullPointerException verlengt RuntimeException

     

Wordt weggegooid wanneer een toepassing null probeert te gebruiken in een geval waarin een object zich bevindt   verplicht. Deze omvatten:

     
      
  • De instantiemethode van een null-object aanroepen.
  •   
  • Toegang tot of wijziging van het veld van een null-object.
  •   
  • Nulllengte nemen alsof het een array was.
  •   
  • Toegang tot of wijzigen van de slots van null alsof het een array is.
  •   
  • Null gooien alsof het een Throwable-waarde is.
  •   

Google Documenten

2
toegevoegd

Uw Scanner niet geïnitialiseerd, moet u doen

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

Dus wanneer je het doet

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

you are getting NullPointerException

openbare klasse NullPointerException verlengt RuntimeException

     

Wordt weggegooid wanneer een toepassing null probeert te gebruiken in een geval waarin een object zich bevindt   verplicht. Deze omvatten:

     
      
  • De instantiemethode van een null-object aanroepen.
  •   
  • Toegang tot of wijziging van het veld van een null-object.
  •   
  • Nulllengte nemen alsof het een array was.
  •   
  • Toegang tot of wijzigen van de slots van null alsof het een array is.
  •   
  • Null gooien alsof het een Throwable-waarde is.
  •   

Google Documenten

2
toegevoegd

Uw Scanner niet geïnitialiseerd, moet u doen

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

Dus wanneer je het doet

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

you are getting NullPointerException

openbare klasse NullPointerException verlengt RuntimeException

     

Wordt weggegooid wanneer een toepassing null probeert te gebruiken in een geval waarin een object zich bevindt   verplicht. Deze omvatten:

     
      
  • De instantiemethode van een null-object aanroepen.
  •   
  • Toegang tot of wijziging van het veld van een null-object.
  •   
  • Nulllengte nemen alsof het een array was.
  •   
  • Toegang tot of wijzigen van de slots van null alsof het een array is.
  •   
  • Null gooien alsof het een Throwable-waarde is.
  •   

Google Documenten

2
toegevoegd

Een NullPointerException betekent dat u een variabele afleidt die niet is geïnstantieerd (een variabele die verwijst naar null ). Hier is uw verklaring van in :

Scanner in = null; 

Je hebt hier een nulvariabele, die je vervolgens dereference:

int input = in.nextInt();

Dit veroorzaakt uw NullPointerException. U moet op de een of andere manier in een instantiëren

Scanner in = new Scanner(System.in);
1
toegevoegd

Een NullPointerException betekent dat u een variabele afleidt die niet is geïnstantieerd (een variabele die verwijst naar null ). Hier is uw verklaring van in :

Scanner in = null; 

Je hebt hier een nulvariabele, die je vervolgens dereference:

int input = in.nextInt();

Dit veroorzaakt uw NullPointerException. U moet op de een of andere manier in een instantiëren

Scanner in = new Scanner(System.in);
1
toegevoegd

Een NullPointerException betekent dat u een variabele afleidt die niet is geïnstantieerd (een variabele die verwijst naar null ). Hier is uw verklaring van in :

Scanner in = null; 

Je hebt hier een nulvariabele, die je vervolgens dereference:

int input = in.nextInt();

Dit veroorzaakt uw NullPointerException. U moet op de een of andere manier in een instantiëren

Scanner in = new Scanner(System.in);
1
toegevoegd