Řídicí příkazy KAPITOLA 3. Vstup znaků z klávesnice

Podobné dokumenty
Úvod do programování - Java. Cvičení č.4

Algoritmizace a programování

Řídicí struktury. alg3 1

6 Příkazy řízení toku

Algoritmy a datové struktury

3. přednáška. Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti

6. Příkazy a řídící struktury v Javě

Algoritmizace a programování

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

1. Téma 12 - Textové soubory a výjimky

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

C# konzole Podíl dvou čísel, podmínka IF

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Příkazy a řídicí struktury v Javě. Tomáš Pitner, upravil Marek Šabo

Větvení a cykly. Úvod do programování 1 Tomáš Kühr

Výčtový typ strana 67

Textové soubory. alg9 1

Z. Kotala, P. Toman: Java ( Obsah )

Datové struktury. alg12 1

Cykly. Základy programování 1 Martin Kauer (Tomáš Kühr)

Paměť počítače. alg2 1

Operační systémy. Cvičení 4: Programování v C pod Unixem

DSL manuál. Ing. Jan Hranáč. 27. října V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v

Algoritmizace a programování

1. Téma 03 - Rozhodování

8 Třídy, objekty, metody, předávání argumentů metod

Soubor jako posloupnost bytů

Algoritmizace a programování. Terminálový vstup a výstup

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Objektově orientované programování

Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole

Začínáme vážně programovat. Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů

17. Projekt Trojúhelníky

Regulární výrazy. Vzory

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

7. Datové typy v Javě

for (int i = 0; i < sizeof(hodnoty) / sizeof(int); i++) { cout<<hodonoty[i]<< endl; } cin.get(); return 0; }

2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

Zápis programu v jazyce C#

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01

Algoritmy I. Cvičení č. 2, 3 ALGI 2018/19

Vstupní požadavky, doporučení a metodické pokyny

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Programovací jazyk Pascal

Základy programování. Úloha: Eratosthenovo síto. Autor: Josef Hrabal Číslo: HRA0031 Datum: Předmět: ZAP

PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

Jazyk C# a platforma.net

Java Cvičení 01. CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics

3 KTE / ZPE Informační technologie

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

Programování v C++ 1, 1. cvičení

Zadání: TÉMA: Zápis algoritmu, čtení textového souboru, porovnání řetězců.

Příkaz while. while (podmínka) { příkaz; } Příklad: int i=0; while (i < 10) { System.out.println(i); i++; } // vypíše čísla od 0 do 9

Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

9. přednáška - třídy, objekty

Úvod do programovacích jazyků (Java)

Rozklad problému na podproblémy

Úvod do programovacích jazyků (Java)

PSK3-9. Základy skriptování. Hlavička

Úvod do Matlabu. Praha & EU: Investujeme do vaší budoucnosti. 1 / 24 Úvod do Matlabu

5 Přehled operátorů, příkazy, přetypování

Algoritmizace a programování

Klíčové pojmy: Cyklus, řídící proměnná, inicializace, test podmínky, přerušení cyklu, vnořování cyklů.

Funkce, podmíněný příkaz if-else, příkaz cyklu for

Úvod do programování. Lekce 3

15. Projekt Kalkulačka

Algoritmizace a programování

Spojové struktury. Spojová struktura (linked structure):

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

IAJCE Přednáška č. 8. double tprumer = (t1 + t2 + t3 + t4 + t5 + t6 + t7) / 7; Console.Write("\nPrumerna teplota je {0}", tprumer);

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

int t1, t2, t3, t4, t5, t6, t7, prumer; t1=sys.readint();... t7=sys.readint(); prume pru r = r = ( 1+t 1+t t3+ t3+ t4 t5+ t5+ +t7 +t7 )/ ;

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.

Java a XML. 10/26/09 1/7 Java a XML

KTE / ZPE Informační technologie

VISUAL BASIC. Přehled témat

Algoritmizace prostorových úloh

Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám.

Správné vytvoření a otevření textového souboru pro čtení a zápis představuje

- jak udělat konstantu long int: L long velka = 78L;

Pokud zadání nerozumíte nebo se vám zdá nejednoznačné, zeptejte se. Pište čitelně, nečitelná řešení nebudeme uznávat.

MQL4 COURSE. By Coders guru -5 Smyčky & Rozhodnutí Part 1

1. D Y N A M I C K É DAT O V É STRUKTUR Y

Obsah přednášky. Příkaz for neúplný. Příkaz for příklady. Cyklus for each (enhanced for loop) Příkaz for příklady

C2110 Operační systém UNIX a základy programování

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku

Práce se soubory. Základy programování 2 Tomáš Kühr

5 Rekurze a zásobník. Rekurzivní volání metody

Úvodem... 9 Kapitola 1 Karetních

KAPITOLA 2. Hádání slov ( šibenice ) Jakou hru budete tvořit

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE LEXIKÁLNÍ ANALÝZA

Algoritmizace prostorových úloh

Proměnné a datové typy

Řídící struktury, if, while, switch

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Transkript:

Řídicí příkazy V této kapitole se seznámíte s příkazy, které řídí postup provádění programu Příkazy řízení programu se řadí do třech kategorií: příkazy výběru, kam patří příkazy if a switch, příkazy iterace, které zahrnují cykly for, while a do-while, a příkazy skoku, k nimž náleží příkazy break, continue a return S výjimkou příkazu return, kterým se budeme zabývat v další části knihy, KAPITOLA 3 rozebereme v této kapitole všechny zbývající řídicí příkazy včetně příkazů if a for, které jsme již stručně představili Úvodem kapitoly ukážeme, jak lze zajistit jednoduchý vstup z klávesnice Vstup znaků z klávesnice Klíčové znalosti a pojmy Vstup znaků z klávesnice Úplný tvar příkazu if Použití příkazu switch Úplný tvar cyklu for Použití cyklu while Použití cyklu do-while Ukončení cyklu příkazem break Použití příkazu break místo příkazu goto Použití příkazu continue Vnořené cykly Než se zaměříme na řídicí příkazy jazyka Java, uděláme krátkou odbočku, díky které dokážeme začít psát interaktivní programy Až dosud všechny ukázkové programy v knize poskytovaly informace pro uživatele, ale nepřijímaly žádná data od uživatele Pracovali jsme tedy s konzolovým výstupem, ale nikoli konzolovým vstupem (vstupem z klávesnice) Hlavní důvod spočívá v tom, že možnosti zadávání dat v jazyce Java jsou založeny na těch jeho vlastnostech, které budeme vysvětlovat teprve v pozdějších částech knihy Většina reálných programů a apletů jazyka Java navíc namísto textové konzole funguje v prostředí grafického okna Z těchto důvodů se v této knize s konzolovým vstupem setkáte jen zřídka Jeden typ konzolového vstupu se však používá poměrně snadno: jedná se o čtení znaků z klávesnice Vzhledem k tomu, že jsou na uvedené funkci založeny příklady v této kapitole, krátce ji nyní popíšeme K načtení znaku z klávesnice slouží metoda Systeminread() Objekt Systemin je doplněk objektu Systemout Jedná se o vstupní objekt připojený ke klávesnici Metoda read() vyčká, dokud uživatel nestiskne nějakou klávesu, a poté vrátí výsledek Znak je vrácen jako celé číslo, takže je potřeba hodnotu přetypovat na typ char, aby ji bylo možné přiřadit proměnné typu char Konzolový vstup se standardně ukládá do řádkové vyrovnávací paměti (line buffer) Pojem vyrovnávací paměť zde označuje malou část paměti, která uchovává znaky před tím, než 83

KAPITOLA 3 Řídicí příkazy je načte program V tomto případě vyrovnávací paměť obsahuje celý řádek textu Chcete-li proto svému programu odeslat libovolné zadané znaky, musíte po nich stisknout klávesu Enter Následující program načítá znak z klávesnice: // Program načítá znak z klávesnice class VstupKlav { public static void main(string args[]) throws javaioioexception { char ch; Systemoutprint( Stiskněte klávesu a poté Enter: ); ch = (char) Systeminread(); // načte znak Načtení znaku z klávesnice Systemoutprintln( Byla zadána klávesa: + ch); Ukázka spuštění programu vypadá takto: Stiskněte klávesu a poté Enter: t Byla zadána klávesa: t V programu si všimněte, že metoda main() začíná takto: public static void main(string args[]) throws javaioioexception { Vzhledem k tomu, že se používá metoda Systeminread(), program musí zahrnovat klauzuli throws javaioioexception Tento řádek je nezbytný ke zpracování chyb vstupu Jedná se o součást mechanizmu obsluhy výjimek jazyka Java, k němuž se dostaneme v kapitole 9 Prozatím jeho přesný význam nemusíte znát To, že objekt Systemin používá ukládání do řádkové vyrovnávací paměti, je občas zdrojem potíží Když stisknete klávesu Enter, je do vstupního datového proudu vložena posloupnost znaků pro návrat na začátek řádku a nový řádek Tyto znaky navíc zůstávají ve vstupní vyrovnávací paměti, dokud je nenačtete U některých aplikací je proto nutné uvedené znaky odebrat (jejich přečtením), aby mohla následovat další operace vstupu Příklad představíme v další části této kapitoly Příkaz if Příkaz if jsme předvedli v kapitole 1 V této kapitole jej prozkoumáme podrobněji Příkaz if má tento úplný tvar: if(podmínka) příkaz; else příkaz; 84

Příkaz if kde cílem příkazů if a else jsou jednotlivé příkazy Klauzule else není povinná Cílem příkazů if a else mohou být také bloky příkazů Obecný formát příkazu if s bloky příkazů vypadá takto: if(podmínka) { else { Jestliže je podmínka pravdivá, provede se cíl příkazu if V opačném případě se provede cíl příkazu else, je-li uveden Program v žádném případě nevykoná cíle obou příkazů Podmínka řídící příkaz if musí poskytnout výsledek typu boolean Na ukázku příkazu if (a několika dalších řídicích příkazů) vytvoříme a rozvineme jednoduchou počítačovou hru s hádáním výsledků, která by byla vhodná pro mladší děti V první verzi hry program požádá hráče o písmeno od A do Z Pokud hráč stiskne správnou klávesu, program zareaguje vypsáním zprávy ** Správně ** Kód programu vypadá takto: // Hra s hádáním písmen class Hadej { public static void main(string args[]) throws javaioioexception { char ch, odpoved = K ; Systemoutprintln( Myslím si písmeno od A do Z ); Systemoutprint( Zkus je uhodnout: ); ch = (char) Systeminread(); // načte znak z klávesnice if(ch == odpoved) Systemoutprintln( ** Správně ** ); Program vyzve hráče k zadání písmene a poté přečte znak z klávesnice Pomocí příkazu if pak zkontroluje, zda se znak shoduje se správnou odpovědí, což je v tomto případě písmeno K Jestliže hráč zadal písmeno K, zobrazí se zpráva Při zkoušení programu pamatujte na to, že je potřeba zadat velké písmeno K Když budeme v rozvíjení hry s hádáním pokračovat, můžeme v další verzi pomocí příkazu else vypsat zprávu o tom, že uživatel zvolil chybné písmeno // Druhá verze hry s hádáním písmen class Hadej2 { public static void main(string args[]) throws javaioioexception { 85

KAPITOLA 3 Řídicí příkazy char ch, odpoved = K ; Systemoutprintln( Myslím si písmeno od A do Z ); Systemoutprint( Zkus je uhodnout: ); ch = (char) Systeminread(); // načte znak if(ch == odpoved) Systemoutprintln( ** Správně ** ); else Systemoutprintln( Je mi líto, netrefil ses ); Vnořené příkazy if Vnořený příkaz if je příkaz if, který je cílem jiného příkazu if nebo else Vnořené příkazy if jsou v programování velmi časté Ohledně vnořených příkazů if v jazyce Java je potřeba si pamatovat zejména to, že příkaz else vždy odkazuje na nejbližší příkaz if, který se nachází ve stejném bloku jako příkaz else a zatím není přidružen k příkazu else Následuje příklad: if(i == 10) { if(j < 20) a = b; if(k > 100) c = d; else a = c; // tento příkaz else patří k příkazu if(k > 100) else a = d; // tento příkaz else patří k příkazu if(i == 10) Jak naznačují komentáře, poslední příkaz else nepatří k příkazu if(j < 20), protože není umístěn ve stejném bloku (i když se jedná o nejbližší příkaz if bez příkazu else) Závěrečný příkaz else místo toho přísluší k příkazu if(i == 10) Vnitřní příkaz else odkazuje na příkaz if(k > 100), protože to je nejbližší příkaz if v rámci stejného bloku Pomocí vnořeného příkazu if lze dále vylepšit hru s hádáním písmen Nová část kódu poskytuje hráči informace o chybné volbě // Třetí verze hry s hádáním písmen class Hadej3 { public static void main(string args[]) throws javaioioexception { char ch, odpoved = K ; Systemoutprintln( Myslím si písmeno od A do Z ); Systemoutprint( Zkus je uhodnout: ); ch = (char) Systeminread(); // načte znak if(ch == odpoved) Systemoutprintln( ** Správně ** ); else { Systemoutprint( Je mi líto, správné písmeno je ); 86

Posloupnost if-else-if // vnořený příkaz if if(ch < odpoved) Systemoutprintln( blíže konci abecedy ); else Systemoutprintln( blíže začátku abecedy ); Toto je vnořený příkaz if Následuje ukázka spuštění programu: Myslím si písmeno od A do Z Zkus je uhodnout: Z Je mi líto, správné písmeno je blíže začátku abecedy Posloupnost if-else-if Na vnořeném příkazu if je založena běžná programátorská konstrukce, která se označuje jako posloupnost if-else-if Vypadá takto: if(podmínka) příkaz; else if(podmínka) příkaz; else if(podmínka) příkaz; else příkaz; Podmínky se vyhodnocují shora dolů Program ihned po nalezení pravdivé podmínky provede související příkaz a zbytek posloupnosti vynechá Jestliže není pravdivá žádná podmínka, vykoná poslední příkaz else Závěrečný příkaz else často funguje jako výchozí podmínka To znamená, že když selžou všechny jiné podmíněné testy, provede se poslední příkaz else Pokud žádný poslední příkaz else není uveden a všechny ostatní podmínky jsou nepravdivé, nenastane žádná akce Jako ukázka posloupnosti if-else-if slouží následující program: // Toto je ukázka posloupnosti if-else-if class Posloupnost { public static void main(string args[]) { int x; for(x=0; x<6; x++) { if(x==1) Systemoutprintln( Proměnná x se rovná jedné ); else if(x==2) Systemoutprintln( Proměnná x se rovná dvěma ); else if(x==3) Systemoutprintln( Proměnná x se rovná třem ); 87

KAPITOLA 3 Řídicí příkazy else if(x==4) Systemoutprintln( Proměnná x se rovná čtyřem ); else Systemoutprintln( Proměnná x nepatří do intervalu 1 až 4 ); Toto je výchozí příkaz Program poskytne tento výstup: Proměnná x nepatří do intervalu 1 až 4 Proměnná x se rovná jedné Proměnná x se rovná dvěma Proměnná x se rovná třem Proměnná x se rovná čtyřem Proměnná x nepatří do intervalu 1 až 4 Je zřejmé, že výchozí příkaz else je proveden pouze tehdy, pokud neuspěje žádný z předchozích příkazů if Příkaz switch Dalším příkazem výběru v jazyce Java je příkaz switch Příkaz switch poskytuje vícenásobné větvení Umožňuje tedy, aby program volil mezi několika alternativami Vícenásobné testy lze sice sestavit i z řady vnořených příkazů if, ale postup založený na příkazu switch je v mnoha situacích efektivnější Funguje tímto způsobem: Hodnota výrazu se postupně porovnává se seznamem konstant Při nalezení shody je provedena sekvence příkazů, která patří příslušné shodě Příkaz switch má tento obecný tvar: switch(výraz) { case konstanta1: case konstanta2: case konstanta3: default: V případě verzí jazyka Java před uvedením sady JDK 7 musel být výraz řídící příkaz switch typu byte, short, int nebo char, případně výčet (Výčty popíšeme v kapitole 12) Počínaje sadou JDK 7 může být výraz také typu String To znamená, že moderní verze jazyka Java dovolují 88

Příkaz switch řídit příkaz switch pomocí řetězce (Tento postup předvedeme v kapitole 5 v rámci výkladu typu String) Příkaz switch je namísto většího výrazu často kontrolován pouhou proměnnou Každá hodnota uvedená v příkazech case musí být jedinečný konstantní výraz (například hodnota literálu) Duplicitní hodnoty case nejsou přípustné Typ každé hodnoty musí být kompatibilní s typem výrazu Posloupnost příkazů default se aktivuje v případě, že výrazu neodpovídá žádná konstanta case Příkaz default je volitelný Pokud není uveden a žádná podmínka není pravdivá, program neprovede žádnou akci Při nalezení shody začne program provádět příkazy přidružené k příslušnému příkazu case až do výskytu nejbližšího příkazu break nebo v případě příkazu default či posledního příkazu case dokud program nedosáhne konce příkazu switch Jako ukázku příkazu switch lze uvést následující program: // Toto je ukázka příkazu switch class UkazSwitch { public static void main(string args[]) { int i; for(i=0; i<10; i++) switch(i) { case 0: Systemoutprintln( Proměnná i se rovná nule ); case 1: Systemoutprintln( Proměnná i se rovná jedné ); case 2: Systemoutprintln( Proměnná i se rovná dvěma ); case 3: Systemoutprintln( Proměnná i se rovná třem ); case 4: Systemoutprintln( Proměnná i se rovná čtyřem ); default: Systemoutprintln( Proměnná i je větší nebo rovna pěti ); Tento program poskytne uvedený výstup: Proměnná i se rovná nule Proměnná i se rovná jedné Proměnná i se rovná dvěma Proměnná i se rovná třem Proměnná i se rovná čtyřem Proměnná i je větší nebo rovna pěti 89

KAPITOLA 3 Řídicí příkazy Proměnná i je větší nebo rovna pěti Proměnná i je větší nebo rovna pěti Proměnná i je větší nebo rovna pěti Proměnná i je větší nebo rovna pěti Je zřejmé, že při každém průchodu cyklem se provedou příkazy, které patří ke konstantě case odpovídající proměnné i Všechny ostatní příkazy program vynechá Když se hodnota proměnná i rovná pěti nebo je větší, nevyhovuje žádný příkaz case, takže se spustí příkaz default Příkaz break technicky vzato není povinný, ale většina konstrukcí switch jej obsahuje Když se příkaz break nachází v rámci sekvence příkazů case, způsobí, že program opustí celý příkaz switch a pokračuje provádění dalším příkazem za konstrukcí switch Jestliže však patřící příkazu case nekončí příkazem break, budou provedeny všechny příkazy uvnitř a za příslušným příkazem case, dokud program nenarazí na příkaz break (nebo konec příkazu switch) Prohlédněte si pozorně následující program Přijdete na to, co program vypíše na obrazovce, aniž byste se podívali na jeho publikovaný výstup? // Toto je ukázka příkazu switch bez příkazů break class BezPrikazuBreak { public static void main(string args[]) { int i; for(i=0; i<=5; i++) { switch(i) { case 0: Systemoutprintln( Proměnná i je menší než jedna ); case 1: Systemoutprintln( Proměnná i je menší než dvě ); case 2: Systemoutprintln( Proměnná i je menší než tři ); case 3: Systemoutprintln( Proměnná i je menší než čtyři ); case 4: Systemoutprintln( Proměnná i je menší než pět ); Systemoutprintln(); Program prochází všechny tyto příkazy case Program zobrazí tento výstup: Proměnná i je menší než jedna Proměnná i je menší než dva Proměnná i je menší než tři Proměnná i je menší než čtyři Proměnná i je menší než pět Proměnná i je menší než dva Proměnná i je menší než tři 90

Vnořené příkazy switch Proměnná i je menší než čtyři Proměnná i je menší než pět Proměnná i je menší než tři Proměnná i je menší než čtyři Proměnná i je menší než pět Proměnná i je menší než čtyři Proměnná i je menší než pět Proměnná i je menší než pět Program dokládá, že není-li přítomen žádný příkaz break, provádění pokračuje dalším příkazem case Příkazy case mohou být prázdné, jak je patrné z tohoto příkladu: switch(i) { case 1: case 2: case 3: Systemoutprintln( Proměnná i se rovná 1, 2 či 3 ); case 4: Systemoutprintln( Proměnná i se rovná 4 ); Má-li proměnná i v tomto úseku kódu hodnotu 1, 2 nebo 3, je proveden první příkaz println() Jestliže se proměnná rovná 4, spustí se druhé volání println() Příkazy case se běžně vrství stejným způsobem jako v této ukázce, když několik příkazů case sdílí společný kód Vnořené příkazy switch Příkaz switch může tvořit část sekvence příkazů nebo vnějšího příkazu switch Označuje se to jako vnořený příkaz switch Ke konfliktům nedochází ani v případech, že konstanty case vnitřního a vnějšího příkazu switch obsahují stejné hodnoty Například následující úsek kódu je naprosto v pořádku: switch(ch1) { case A : Systemoutprintln( Tento případ A patří vnějšímu příkazu switch ); switch(ch2) { case A : Systemoutprintln( Tento případ A patří vnitřnímu příkazu switch ); case B : // // konec vnitřního příkazu switch case B : // 91

KAPITOLA 3 Řídicí příkazy Cvičení 31: Začátek tvorby systému nápovědy jazyka Java Napovedajava V tomto projektu vytvoříte jednoduchý systém nápovědy, který bude informovat o syntaxi řídicích příkazů Java Program zobrazí nabídku s řídicími příkazy a poté vyčká, dokud uživatel jeden z nich nevybere Po výběru možnosti program vypíše syntaxi příslušného příkazu V této první verzi programu je k dispozici pouze nabídka k příkazům if a switch Další řídicí příkazy doplníte v následujících projektech 1 Vytvořte soubor s názvem Napovedajava 2 Program nejdříve zobrazí následující nabídku: Nápověda k příkazům: 1 if 2 switch Zvolte jednu možnost: Lze to zajistit pomocí následující posloupnosti příkazů: Systemoutprintln( Nápověda k příkazům: ); Systemoutprintln( 1 if ); Systemoutprintln( 2 switch ); Systemoutprint( Zvolte jednu možnost: ); 3 Poté program zjistí uživatelskou volbu voláním metody Systeminread(): volba = (char) Systeminread(); 4 Jakmile program získá vybranou hodnotu, zobrazí pomocí následujícího příkazu switch syntaxi vybraného příkazu switch(volba) { case 1 : Systemoutprintln( Příkaz if:\n ); Systemoutprintln( if(podmínka) příkaz; ); Systemoutprintln( else příkaz; ); case 2 : Systemoutprintln( Příkaz switch:\n ); Systemoutprintln( switch(výraz) { ); Systemoutprintln( case konstanta: ); Systemoutprintln( ); Systemoutprintln( ); Systemoutprintln( // ); Systemoutprintln( ); default: Systemoutprintln( Vybraná možnost není k dispozici ); 92