Задать вопрос
Millerish
@Millerish

Java почему вылетает java.lang.NullPointerException?

Добрый вечер!

Разбираюсь в java. Почему у меня вылетает java.lang.NullPointerException, я же проверяю на Null? Как правильно?

import java.util.Arrays;
import java.util.Scanner;

public class l9 {

    public static void main(String[] args){
        class Arr{


            int[] mass;

            void sayLen(){
                if (mass == null) {
                    System.out.println("0");
                } else {
                    int len = this.mass.length;
                    System.out.println(len);
                }
            }

            void addToMass(int e){
                if (mass == null) {
                    this.mass[0] =e;
                } else {
                    this.mass[mass.length+1] = e;
                }

            }

        }

        Arr arr = new Arr();
        Scanner in = new Scanner(System.in);

        while (true){
            try {
                int a = in.nextInt();
                System.out.println(a);
                arr.addToMass(a);
                arr.sayLen();
            }
            catch (Throwable e){
                System.out.println(e);
                break;
            }

        }

    }
}
  • Вопрос задан
  • 1009 просмотров
Подписаться 2 Оценить Комментировать
Решение пользователя Дмитрий Александров К ответам на вопрос (3)
jamakasi666
@jamakasi666 Куратор тега Java
Просто IT'шник.
mass не инициализирован. Вообще лучше используй коллекции =D
List<Integer> mass;

            void sayLen(){
                if (mass == null) {
                    System.out.println("0");
                } else {
                    int len = this.mass.size();
                    System.out.println(len);
                }
            }
            void addToMass(int e){
                if (mass == null) {
                    mass = new ArrayList<>();
                    this.mass.add(e);
                } else {
                    this.mass.add(e);
                }

            }

        }
Ответ написан