• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Do czego służy w tym przykładzie zmienna boolean?

VPS Starter Arubacloud
0 głosów
704 wizyt
pytanie zadane 19 lipca 2018 w Java przez zuzanka123 Nowicjusz (120 p.)

Przerabiam sobie książkę "Java - rusz głową" i tam jest taki przykład:

class Perkusja {
 
    boolean talerze = true;
    boolean beben = true;
 
    void zagrajNaBebnie() {
        System.out.println("bam, bam, baaaa-am-am");
    }
 
    void zagrajNaTalerzach() {
        System.out.println("brzdk, brzrzrzdk");
    }
}
 
class PerkusjaTester {
    public static void main(String[] args) {
 
        Perkusja p = new Perkusja();
        p.zagrajNaBebnie();
        p.beben = false;
        p.zagrajNaTalerzach();
 
        if (p.beben == true) {
            p.zagrajNaBebnie();
        }
    }
}

Tak więc: do czego w ogóle służą mi tutaj zmienne boolean? Dlaczego nie mogę wpisać po prostu "p.zagrajNaBebnie();" i "p.zagrajNaTalerzach();"? Zastanawia mnie to tym bardziej, że instrukcja if pojawia się tylko dla bębna. Co stałoby się, gdyby między wywołaniem metod "zagraj" nie byłoby tego "p.beben = false"? Czy program "grałby" wtedy na bębnie przez cały czas? A dlaczego nie ma analogicznego "p.talerze = false"? I - swoją drogą - dlaczego instrukcja if pojawia się dopiero po wywołaniu jednej i drugiej metody? (To ostatnie pytanie wynika już pewnie z mojej skrajnej ignorancji w kwestii składni, ale zadaję je, żeby już wszystko było do kompletu...)

Swoją drogą - na githubie znalazłam taką czyjąś wersję, gdzie między wywołaniem metod NIE MA "p.beben = false", ale wciąż pojawia się deklaracja zmiennych boolean:

https://github.com/miguelalba-old/Head-First-Java/blob/master/ch2/DrumKitTestDrive.java

1 odpowiedź

+2 głosów
odpowiedź 19 lipca 2018 przez Tomasz Rogalski Bywalec (2,800 p.)
boolean talerze = true;  nie ma znaczenia w tym przykładzie bo jej nie uzywamy.

boolean beben = true; autor chce Ci pokazać działanie IF dlatego zmienia jej wartość na false co pokazuje że druga gra na bębnie się nie wykona.

Możesz uzyć p.zagrajNaBebnie();  ale jeżeli boolean beben symbolizuje sprawność bębna to zagrałbyś na niesprawnym bębnie

Co stałoby się, gdyby między wywołaniem metod "zagraj" nie byłoby tego "p.beben = false"? Czy program "grałby" wtedy na bębnie przez cały czas? - NIE, wykonałoby się raz to co masz w IF.

A dlaczego nie ma analogicznego "p.talerze = false"?  - Może będzie dalej w książce? Jeżeli nie ma to bezsensu:)

dlaczego instrukcja if pojawia się dopiero po wywołaniu jednej i drugiej metody?  - Nie ma znaczenia, autor tak po prostu wymyślił.

Podobne pytania

0 głosów
3 odpowiedzi 334 wizyt
pytanie zadane 1 stycznia 2020 w C i C++ przez Szymczak_7 Obywatel (1,860 p.)
–6 głosów
2 odpowiedzi 525 wizyt
pytanie zadane 4 maja 2018 w C i C++ przez Michal Cpp Nowicjusz (130 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...