Początkujący ma pytanie o dostęp do zmiennych

0
public class MojaClasa extends MojWyjatek{

public static void main(String[] args) throws MojWyjatek {
    boolean flaga = false;
    while(!flaga){
     ....
   }
 }
}

class DrugaClasa{
 public boolean DrugaClasa(...) trows MojWyjatek{
   flaga=!flaga;
   return true;
 }
}

Jakieś pomysły aby działało ?

0

Zara co Ty w ogóle chcesz zrobić? :D Bo to wygląda na totalnego gniota :D

1

Pracuję z kodem różnej jakości, nierzadko spędzam sporo czasu próbując się domyślić co autor chciał osiągnąć stosując dane konstrukcje i zagmatwane sposoby, żeby zrobić proste rzeczy. Still, nie mam pojęcia co ty tu kombinujesz i chcesz osiągnąć.

0

Ten kod to totalna porażka. Może napisz co tak w ogóle chcesz zrobić?

1

Wyczuwam hit tego roku :-)

1

Masz rację problem jest z dostępem do zmiennych.
Zmienić flagę (przypisać wartość) na true i zakończyć wykonanie programu będziesz mógł tylko w ciele metody main.

boolean flaga = false;
    while(!flaga){
          flaga = dc.DrugaClasa();
   }

gdzie dc to obiekt klasy DrugaClasa

Jeżeli potrzebujesz uzależnić działanie od zmiennej flaga to metoda może być:

 public boolean DrugaClasa(boolen flaga) trows MojWyjatek{
   return !flaga
 }

a w main:
while(!flaga){
          flaga = dc.DrugaClasa(flaga);
}

Zmienna flaga w main nie jest tą samą zmienną co flaga w metodzie DrugaClasa (tylko nawy są te same). To jest kwestia widoczności zmiennych i przekazywania ich w parametach metody "przez wartość".

0

Dziękuję wszystkim za krytykę, przyjąłem. Pozdrawiam cieplutko :)

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