JAVA: Boş İşaretçi Özel Durum hatası

Herkese selam Bazı kod yazıyorum ve Null Pointer İstisnası almaya devam ediyorum ve nedense sadece zihinsel bir duvara çarpıyorum.

Şimdi, boş göstericinin kullanmaya çalıştığı değerin boş olduğu zaman olduğunu biliyorum, ancak sorunun nasıl çözüleceğini çözemiyorum. (Hatalı Çizgi * 'd 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
Peki, Tarayıcınızı başlatamazsınız ... null dışında
katma yazar fge, kaynak
Bence asıl soru, bu neden c ++ etiketli?
katma yazar Lawrence Aiello, kaynak
Bence asıl soru, bu neden c ++ etiketli?
katma yazar Lawrence Aiello, kaynak
c ++ önerilen bir etiketti. Topluluğa çok yeni bir üye olarak, önerme etiketleriyle gitmeye meyilliyim.
katma yazar SynGaren NA, kaynak
c ++ önerilen bir etiketti. Topluluğa çok yeni bir üye olarak, önerme etiketleriyle gitmeye meyilliyim.
katma yazar SynGaren NA, kaynak
c ++ önerilen bir etiketti. Topluluğa çok yeni bir üye olarak, önerme etiketleriyle gitmeye meyilliyim.
katma yazar SynGaren NA, kaynak

6 cevap

Tarayıcınız başlatılmadı, siz yapmalısınız

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

Yani ne zaman yapıyorsun

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

you are getting NullPointerException

genel sınıf NullPointerException , RuntimeException'ı genişletir

     

Bir nesne, nesnenin olduğu bir durumda null kullanmaya çalıştığında atılır.   gereklidir. Bunlar şunları içerir:

     
      
  • Boş bir nesnenin örnek yöntemini çağırma.
  •   
  • Boş bir nesnenin alanına erişin veya değiştirin.
  •   
  • Boş değerin bir dizimiş gibi uzunluğunu almak.
  •   
  • Boş değerlere bir dizimiş gibi erişme veya bunları değiştirme.
  •   
  • Atılabilir bir değermiş gibi null atma.
  •   

Dokümanlar

2
katma

Tarayıcınız başlatılmadı, siz yapmalısınız

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

Yani ne zaman yapıyorsun

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

you are getting NullPointerException

genel sınıf NullPointerException , RuntimeException'ı genişletir

     

Bir nesne, nesnenin olduğu bir durumda null kullanmaya çalıştığında atılır.   gereklidir. Bunlar şunları içerir:

     
      
  • Boş bir nesnenin örnek yöntemini çağırma.
  •   
  • Boş bir nesnenin alanına erişin veya değiştirin.
  •   
  • Boş değerin bir dizimiş gibi uzunluğunu almak.
  •   
  • Boş değerlere bir dizimiş gibi erişme veya bunları değiştirme.
  •   
  • Atılabilir bir değermiş gibi null atma.
  •   

Dokümanlar

2
katma

Tarayıcınız başlatılmadı, siz yapmalısınız

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

Yani ne zaman yapıyorsun

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

you are getting NullPointerException

genel sınıf NullPointerException , RuntimeException'ı genişletir

     

Bir nesne, nesnenin olduğu bir durumda null kullanmaya çalıştığında atılır.   gereklidir. Bunlar şunları içerir:

     
      
  • Boş bir nesnenin örnek yöntemini çağırma.
  •   
  • Boş bir nesnenin alanına erişin veya değiştirin.
  •   
  • Boş değerin bir dizimiş gibi uzunluğunu almak.
  •   
  • Boş değerlere bir dizimiş gibi erişme veya bunları değiştirme.
  •   
  • Atılabilir bir değermiş gibi null atma.
  •   

Dokümanlar

2
katma

NullPointerException , başlatılmamış bir değişkeni ( null işaret eden bir değişken) reddettiğiniz anlamına gelir. İşte 'daki bildiriminiz:

Scanner in = null; 

Burada boş bir değişkene sahipsiniz, ki sonra bunu kaldırdınız:

int input = in.nextInt();

Bu NullPointerException'a neden olur. Bir şekilde olduğu gibi içinde örneğini başlatmanız gerekir.

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

NullPointerException , başlatılmamış bir değişkeni ( null işaret eden bir değişken) reddettiğiniz anlamına gelir. İşte 'daki bildiriminiz:

Scanner in = null; 

Burada boş bir değişkene sahipsiniz, ki sonra bunu kaldırdınız:

int input = in.nextInt();

Bu NullPointerException'a neden olur. Bir şekilde olduğu gibi içinde örneğini başlatmanız gerekir.

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

NullPointerException , başlatılmamış bir değişkeni ( null işaret eden bir değişken) reddettiğiniz anlamına gelir. İşte 'daki bildiriminiz:

Scanner in = null; 

Burada boş bir değişkene sahipsiniz, ki sonra bunu kaldırdınız:

int input = in.nextInt();

Bu NullPointerException'a neden olur. Bir şekilde olduğu gibi içinde örneğini başlatmanız gerekir.

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