Mam problem z instrukcja switch otoz nie wykonuje całości casa
Podam troche szczegółów:
public enum Kierunek
{
N, S, W, E, SE, SW, NW, NE, NULL
}
Wartosc NULL nie ma zwiazku z nullem wiem glupio nazwane bede musial to zmienic
tabelaPol to
public class Pole
{
char litera;
boolean zajeta;
public Pole (char litera)
{
this.litera = litera;
if(this.litera=='!')
this.zajeta = true;
else
this.zajeta = false;
}
}
koniecWyrazu = 0
kierunek = E
wyraz="allozaur"
tabelaPol[i][j+1] = 'l'
kolejneLitery = 1
while(koniecWyrazu == 0) //zgadza sie wchodzi do instrukcji while
{
switch (kierunek) //kierunek = E
{
case N: // casy wszystkie bardzo do siebie podobne poza elsem (rozne zmiany
... // na indeksach tablicy) dlatego je usunolem
break;
case S:
...
break;
case W:
...
break;
case E:
if(tabelaPol[i][j+1].litera==wyraz.charAt(kolejneLitery)) //'l'='l' zgada sie
//wchodzi do instrukcji powinien wejsc do kolejnego ifa
if(kolejneLitery==wyraz.length()-1)//ominac go bo tu juz sie nie zgadza
{ //1!=7
koniecWyrazu = 2;
tabelaPol[i][j+1].zajeta=true;
}
else
{
j++;
}
break; //i przejsc do tego breaka
case NE: // natomiast nie wiem jakim cudem
... //przechodzi do ostatniego
break; // breaka przy wartosci kierunku = NULL
case NW:
...
break;
case SE:
...
break;
case SW:
...
break;
case NULL:
koniecWyrazu = 1;//pomija te czesc (bogole nie powinien wchodzic do tego bloku)
break;//wykonuje tego breaka i wraca do wykonywania whila (i sie zapetla)
}
}
W całości przedstawiony problem:
kierunek=E wiec powinien przejsc do tego casa: sprawdzic tabelaPol[i][j+1].litera==wyraz.charAt(kolejneLitery) (zgadza sie bo 'l'='l') i przejsc do kolejnego ifa, natomiast zamiast tego przeskakuje go całkowicie i wykonuje ostatnią instrukcje break w tym switchu (te przy wartosci kierunku NULL
Gdzie popełniam błąd?