Problemy z kompilacją kodu "java.lang.NullPointerException "

0

Witam mam problem z kompilacją poniższego kodu wyrzuca mi taki błąd

    > rImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)> 

Oto kod:




import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;



public class Solution {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

        ArrayList<String> lista = new ArrayList<String>();


        while (true) {
            String s = reader.readLine();
            if (s.isEmpty()) break;
            lista.add(s);
        }

        ArrayList<String> listaWielkimiLiterami = new ArrayList<String>();
        
        int a;
        for (int i = 0; i < lista.size(); i++) {
        
           int n=lista.get(i).length();
           if(n%2==0){
              a=listaWielkimiLiterami.size();
               for(int j=0;j<3;j++){

                   listaWielkimiLiterami.add(a,lista.get(i));
               }
              
            


           }
           else{
            a=listaWielkimiLiterami.size();
               for(int j=0;j<2;j++ ){
                   listaWielkimiLiterami.add(a,lista.get(i));
               }

           }
        }

        for (int i = 0; i < listaWielkimiLiterami.size(); i++) {
            System.out.println(listaWielkimiLiterami.get(i));
        }
    }
}


1

Musisz podać większy stacktrace, trzeba zobaczyć szerszy kontekst.

1

https://docs.oracle.com/javase/10/docs/api/java/io/BufferedReader.html#readLine()

Returns:
A String containing the contents of the line, not including any line-termination characters, or null if the end of the stream has been reached without reading any characters

1

Kod się kompiluje. Null pointer musi lecieć w trakcie. Musiałbyś pokazać jaki input wprowadzasz.

0

sytuacja została opanowana proszę usunąć temat

0

Pokaż co było źle i zostaw dla innych (szukających podobnego błędu).

0

Problem nie leżał w kodzie tylko w kompilatorze . Miałem problem z oprogramowaniem . Po przeinstalowaniu VSC wszystko normalnie się się uruchomiło .
Dlatego temat to śmieć

0

Jaki był problem z kompilatorem i gdzie znalazłeś rozwiązanie?

0

Nie potrafie odpowiedzieć na to pytanie przeinstalowałem VSC i SDK i zaczeło działać .

0

Jeżeli dane wejściowe będą pustym ciągiem lub będą kończyły się znakiem nowej linii to w tym miejscu: String s = reader.readLine(); s będzie nullem. Wtedy, w następnej linii, poleci wyjątek.

0 użytkowników online, w tym zalogowanych: 0, gości: 0