Ludzie poratujcie bo już zgłupiałem. Pokazuje błąd w trybie debug, ale za cholere nie wiem o co chodzi, dlaczego w metodzie LosowanieDoMiast nie widzi zmiennej Losowanie?
public class miejscowosci {
static Random Losowanie; // metoda random
private String[] nazwymiast = {"Warszawa", "Kraków", "Łódź", "Wrocław", "Poznań", "Gdańsk", "Szczecin"}; // dowolne zmienne
private int[] tablicamiasta; // tablica do ktorej przypisuje paczki po wylosowaniu
private int paczkimiasta; // liczba z podzialem na miasta
private int paczkireszta; // pozostale do podzialu
static private List<Integer> paczki; // lista paczek zebym mogl wylosowac bez zwracania
public miejscowosci(int x) // konstruktor gdzie podaje liczbe paczek
{
Random Losowanie = new Random(); // uruchamiam metode losowania
List<Integer> paczki = new ArrayList<Integer>();
miasta[] miasto = new miasta[nazwymiast.length];
paczkimiasta = (x / nazwymiast.length); // liczba zdrapek dla konkretnego miasta.
paczkireszta = (x % nazwymiast.length); // reszta z dzielenia
tablicamiasta = new int[paczkimiasta];
for (int j=0; j<x; j++)
{
paczki.add(j);
}
for (int i=0; i<nazwymiast.length; i++) // to jeszcze musze przerobic bo moze byc wyjatek.
{
if (paczkireszta > 0 && (Losowanie.nextInt(1)!= 0))
{
miasto[i] = new miasta(nazwymiast[i], LosowanieDoMiast(paczkimiasta++));
paczkireszta--;
}
else
miasto[i] = new miasta(nazwymiast[i], LosowanieDoMiast(paczkimiasta));
}
}
public int[] LosowanieDoMiast(int z)
{
List sprawdza = new ArrayList();
for(int j=0; j<(z );)
{
System.out.println(Losowanie.nextInt(10));
int wylosowanepaczki = Losowanie.nextInt(paczki.size()); // losowanie paczek dla danego miasta tutaj krzyczy blad!!
if (paczki.get(wylosowanepaczki) == paczki.get(wylosowanepaczki)) // to jest chyba bez sensu bo przeciez usuwam z listy
{
tablicamiasta[j] = wylosowanepaczki;
System.out.println(wylosowanepaczki);
sprawdza.add(wylosowanepaczki);
paczki.remove(wylosowanepaczki);
j++;
}
}
System.out.println("liczba zdrapek :" +sprawdza.size());
return tablicamiasta;
}
}