Ehh problem z tablicą boolean

Ehh problem z tablicą boolean
Taruun
  • Rejestracja:ponad 16 lat
  • Ostatnio:prawie 12 lat
0

Witam,
mam taki kod i nie wiem dlaczego wywala mi indexofboundexeption ehhh :-(

Kopiuj
 
public class CPN {
	
	int ilosc_dystrybutorow;
	boolean [] dystrybutor= new boolean[ilosc_dystrybutorow];
	
	
	public CPN (int ilosc_dystrybutorow)
	{
		this.ilosc_dystrybutorow=ilosc_dystrybutorow;
	}

	public synchronized void sprawdz_czy_wolny(int nr_pojazdu)
	{
		int i=0;
		System.out.println("Ilosc dystrybutoruw rowna sie"+ilosc_dystrybutorow);
		dystrybutor[0]=false; // tutaj mówi że coś jest nie tak
		//dystrybutor[3]=false;
		while(i<this.ilosc_dystrybutorow)
		{	
		//if(dystrybutor[i]==true)
		{
			System.out.println("Samochod numer pojezdza do tankowania do dystrybutora "+i); 
			i++;
		}
		}
		}
Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:prawie 2 lata
  • Lokalizacja:Wrocław
  • Postów:13042
0

A gdzie ustawiasz wartość "int ilosc_dystrybutorow;" ?


0
Kopiuj
        int ilosc_dystrybutorow;
//w tym miejscu ilosc_dystrybutorow==0, tworzysz 0-elementową tablicę
        boolean [] dystrybutor= new boolean[ilosc_dystrybutorow];
Taruun
  • Rejestracja:ponad 16 lat
  • Ostatnio:prawie 12 lat
0

Ilość dystrybutorów jest w konstruktorze jak tworze obiekt klasy CPN w programie głównym to podaje ilość dystrybutorów. Tak w ogóle wyświetla mi mi w tym kawałku kodu ilość dystrybutorów poprawnie.

Patryk27
A jak dajesz "dystrybutor[3]=false;" to jest OK ?
Taruun
  • Rejestracja:ponad 16 lat
  • Ostatnio:prawie 12 lat
0

Nie, też wywala błąd :-(

0

Tablica o rozmiarze 0 już istnieje. zmiana wartości pola ilosc_dystrybutorow jest mocno spóźniona

Kopiuj
public class CPN {
 
        int ilosc_dystrybutorow;
        boolean [] dystrybutor;
 
 
        public CPN (int ilosc_dystrybutorow)
        {
                this.ilosc_dystrybutorow=ilosc_dystrybutorow;
                dystrybutor = new boolean[ilosc_dystrybutorow];
        }
tomas1704
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 11 lat
0

musiał byś tą tablicę wsadzić do funkcji CPN bo tak jak mówi kolega podanie parametru ilosc_dys... jest zdecydowanie za późno

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.