import java.util.*;
public class Lista {
private int [] liczby;
private int pojemnosc;
private int rozmiar;
public Lista(int ileliczby, int pojemnosc, int rozmiar) {
int l[] = new int[ileliczby];
this.pojemnosc = pojemnosc;
this.rozmiar = rozmiar;
}
public int dodajelement(int element) {
for (int i = 0; i < rozmiar; i++) {
if (liczby[i] <= rozmiar) {
liczby[i] = element;
}
else if (liczby[i] >= rozmiar);
System.out.println("nie możesz dodać nastepnej");
}
return element;
}
public int znajdz(int szukaj) {
boolean liczba = false;
for (int i = 0; i < rozmiar; i++) {
if (liczby[i] == szukaj) {
liczba = true;
return i;
}
else if (liczba = false){
return -1;
}
}
return szukaj;
}
public void Pisz(){
System.out.println("Lista:");
System.out.println(" Pojemnosc:" +pojemnosc);
System.out.println(" Rozmiar:" +rozmiar);
System.out.println(" Elementy:" +liczby);
;
}
public void usunPierwszy(int podanaliczba) {
for (int i = 0; i < rozmiar; i++) {
if (liczby[i] == podanaliczba) {
liczby[i] = 0;
}
}
}
public void usunPowtorzenie() {
for (int i = 0; i < rozmiar; i++) {
for (int j = 0; j < rozmiar; j++) {
if (liczby[i] == liczby[j]) {
liczby[i] = 0;
}
}
}
}
public void odwroc(int liczby[]){
int poczatek = 0;
int koniec = liczby.length-1;
while (poczatek < koniec) {
int pomoc = liczby[poczatek];
liczby[poczatek] = liczby[koniec];
liczby[koniec] = pomoc;
poczatek++;
koniec--;
}
}
public static void main(String[] args) {
final int N = 10;
Lista a = new Lista(5,5,5);
for (int i = 0; i < N/2; ++i) {
a.dodajelement((1 << i));
}
a.dodajelement(2);
a.dodajelement(8);
a.Pisz();
a.usunPierwszy(2);
a.Pisz();
for (int i = 0; i < N/2; ++i) {
a.dodajelement( (1 << i) );
}
a.Pisz();
System.out.println("Po usunięciu powtórzeń:");
a.usunPowtorzenie();
a.Pisz();
}
}
Błedy
Exception in thread "main" java.lang.NullPointerException
at Lista.dodajelement(Lista.java:21)
at Lista.main(Lista.java:96)
Nie rozumiem dlaczego wyświetlają się te błedy , czy ktoś moze mi wytlumaczyc?