Dodanie obiektu klasy do stosu.

0

Witam, nie mogę dodać obiektu klasy (który przechowuje w tablicy) do stosu. Z błędu wynikało by, że dany element tablicy (punkty[0]...punkty[n]) jest pusty. Deklaracja stosu jako "Stack<Punkt> stos" nie rozwiązuje w żaden sposób sprawy. Może popełniłam błąd z deklaracją samej tablicy...już sama nie wiem.

Exception in thread "main" 
java.lang.NullPointerException
	at Otoczka.znajdzOtoczke(Otoczka.java:100)
	at Otoczka.main(Otoczka.java:156)
import java.util.Scanner;
import java.util.Stack;

public class Otoczka extends Punkt
{
	private static int		ilosc_punktow;
	private static Scanner	skaner;
	private static Punkt[]	punkty;
	private static Stack	stos; //"Stack<Punkt> stos" niczego nie poprawia
	private static Punkt	przed_ostatni, ostatni;
	public Punkt znajdz_minimum()
	{
        ....
	}
	public void transpozycja(Punkt tmp)
	{
          ...
	}
	public float policzKaty(Punkt tmp)
	{
          ...
	}
	public void ustawKaty()
	{
        ...
	}
	public void sortujPunkty()
	{
        ....
	}
	public int okresl_kierunek_skretu(Punkt p1, Punkt p2, Punkt p3)
	{

	}
	public void znajdzOtoczke()
	{
		Punkt tmp = new Punkt();
		//tmp = punkty[0];                               //TU O DZIWO NIE MA PROBLEMU
		//System.out.println(tmp);
		stos.push(punkty[0]);                         // TUTAJ JEST PROBLEM!
		ostatni = punkty[0];
		stos.push(punkty[1]);
		przed_ostatni = punkty[1];
		stos.push(punkty[2]);

		for (int i = 3; i < ilosc_punktow; i++)
		{
			while (okresl_kierunek_skretu(ostatni, przed_ostatni, punkty[i]) <= 0)
			{
                            ...
			}
                      ...
		}
	}

	public static void main(String[] args)
	{
		// pobranie ilosci punktow
		skaner = new Scanner(System.in);
		System.out.println("Podaj ilosc punktow: ");
		ilosc_punktow = skaner.nextInt();
		punkty = new Punkt[ilosc_punktow];

		for (int i = 0; i < punkty.length; i++)
		{
			System.out.println("Podaj " + (i + 1) + " wspolrzedna: ");
			int x = skaner.nextInt();
			int y = skaner.nextInt();
			punkty[i] = new Punkt(x, y, 0);
		}

		Otoczka otoczka = new Otoczka();
		Punkt tmp = new Punkt();
		// wyszukanie punktu oddalonego najbardziej na lewo i w dół
		tmp = otoczka.znajdz_minimum();
		otoczka.transpozycja(tmp);
		otoczka.ustawKaty();
		otoczka.sortujPunkty();

		for (int i = 0; i < punkty.length; i++)
		{
			System.out.println(i);
			System.out.println(punkty[i]);
		}
		otoczka.znajdzOtoczke();                                                    // BŁĄD
	}

}
0

a inicjalizujesz ten stos?

btw. przedostatni razem

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