Black Friday Black Friday
Black Friday výprodej! Až 80 % extra bodů zdarma! Více informací zde

Cvičení k 6. lekci Javy

Java Základní konstrukce Cvičení k 6. lekci Javy American English version English version

Unicorn College ONEbit hosting Tento obsah je dostupný zdarma v rámci projektu IT lidem. Vydávání, hosting a aktualizace umožňují jeho sponzoři.

Následující 3 cvičení vám pomohou procvičit znalosti programování v Javě z minulé lekce. Ve vlastním zájmu se je pokuste vyřešit sami. Pod článkem máte pro kontrolu řešení ke stažení. Ale pozor, jakmile se na něj podíváte bez vyřešení příkladů, ztrácí pro vás cvičení smysl a nic se nenaučíte :)

Pokud si opravdu nebudete vědět rady, podívejte se raději znovu do minulého tutoriálu a pokuste se na to přijít.

Ohlasy studentů

Jednoduchý příklad

Vytvořte program, který se uživatele zeptá, kolik si dá ryb k večeři. Poté mu do konzole vypíše zadaný počet ryb tímto způsobem:

<° )))-<

Ukázka obrazovky programu:

Ryby
Kolik ryb si dáš k večeři?
6
<° )))-<

<° )))-<

<° )))-<

<° )))-<

<° )))-<

<° )))-<

Středně pokročilý příklad

Zadání tohoto programu je odvozeno z anglické říkanky, která začíná takto:

10 zelených láhví stojí na stole a jedna láhev spadne

Program dále pokračuje takto:

9 zelených láhví stojí na stole a jedna láhev spadne

Až skončí poslední větou:

1 zelená láhev stojí na stole a jedna láhev spadne

Vytvořte program, který provede takovýto výstup pro 10 láhví. Všimněte si, že program umí skloňovat slova zelená a láhev.

Ukázka obrazovky programu:

Lahve
10 zelených láhví stojí na stole a jedna láhev spadne
9 zelených láhví stojí na stole a jedna láhev spadne
8 zelených láhví stojí na stole a jedna láhev spadne
7 zelených láhví stojí na stole a jedna láhev spadne
6 zelených láhví stojí na stole a jedna láhev spadne
5 zelených láhví stojí na stole a jedna láhev spadne
4 zelené láhve stojí na stole a jedna láhev spadne
3 zelené láhve stojí na stole a jedna láhev spadne
2 zelené láhve stojí na stole a jedna láhev spadne
1 zelená láhev stojí na stole a jedna láhev spadne

Pokročilý příklad

Vytvořte program, který si nechá na vstupu zadat 2 intervaly (vždy dolní a horní mez jako celé číslo). Následně vypíše všechny dvojice čísel (z prvního a druhého intervalu), jejichž součet leží alespoň v jednom z intervalů.

Ukázka obrazovky programu:

Intervaly
Zadejte levou mez 1. intervalu:
5
Zadejte pravou mez 1. intervalu:
25
Zadejte levou mez 2. intervalu:
4
Zadejte pravou mez 2. intervalu:
16
Dvojice čísel (1. z prvního intervalu a 2. z druhého intervalu), jejichž součet
leží alespoň v jednom z intervalů:
[5;4], [5;5], [5;6], [5;7], [5;8], [5;9], [5;10], [5;11], [5;12], [5;13], [5;14], [5;15], [5;16], [6;4], [6;5], [6;6], [6;7], [6;8], [6;9], [6;10], [6;11], [6;12], [6;13], [6;14], [6;15], [6;16], [7;4], [7;5], [7;6], [7;7], [7;8], [7;9], [7;10], [7;11], [7;12], [7;13], [7;14], [7;15], [7;16], [8;4], [8;5], [8;6], [8;7], [8;8], [8;9], [8;10], [8;11], [8;12], [8;13], [8;14], [8;15], [8;16], [9;4], [9;5], [9;6], [9;7], [9;8], [9;9], [9;10], [9;11], [9;12], [9;13], [9;14], [9;15], [9;16], [10;4], [10;5], [10;6], [10;7], [10;8], [10;9], [10;10], [10;11], [10;12], [10;13], [10;14], [10;15], [11;4], [11;5], [11;6], [11;7], [11;8], [11;9], [11;10], [11;11], [11;12], [11;13], [11;14], [12;4], [12;5], [12;6], [12;7], [12;8], [12;9], [12;10], [12;11], [12;12], [12;13], [13;4], [13;5], [13;6], [13;7], [13;8], [13;9], [13;10], [13;11], [13;12], [14;4], [14;5], [14;6], [14;7], [14;8], [14;9], [14;10], [14;11], [15;4], [15;5], [15;6], [15;7], [15;8], [15;9], [15;10], [16;4], [16;5], [16;6], [16;7], [16;8], [16;9], [17;4], [17;5], [17;6], [17;7], [17;8], [18;4], [18;5], [18;6], [18;7], [19;4], [19;5], [19;6], [20;4], [20;5], [21;4],


 

Stáhnout

Staženo 1152x (51.86 kB)
Aplikace je včetně zdrojových kódů v jazyce java

 

 

Článek pro vás napsal David Čápka
Avatar
Jak se ti líbí článek?
15 hlasů
Autor pracuje jako softwarový architekt a pedagog na projektu ITnetwork.cz (a jeho zahraničních verzích). Velmi si váží svobody podnikání v naší zemi a věří, že když se člověk neštítí práce, tak dokáže úplně cokoli.
Unicorn College Autor sítě se informační technologie naučil na Unicorn College - prestižní soukromé vysoké škole IT a ekonomie.
Miniatura
Předchozí článek
Cykly v Javě
Miniatura
Všechny články v sekci
Základní konstrukce jazyka Java
Miniatura
Následující článek
Pole v Javě
Aktivity (10)

 

 

Komentáře
Zobrazit starší komentáře (80)

Avatar
Jana Hejná
Člen
Avatar
Jana Hejná:16. listopadu 22:00

Díky, školácká chyba, ale stejně mi to neprochází.

 
Odpovědět 16. listopadu 22:00
Avatar
Radka Jánská:19. listopadu 0:10

Skvělé příklady, díky. Jediné, co mi zavařilo je odřádkování v třetím příkladě. Když člověk zkopíruje tu dlouhou větu ze zadání, zalomení se tam udělá automaticky, popravdě jsem si toho vůůůbec nevšimla... Nešlo by tohle v kontrole opravit, aby to na \n nebralo ohled? Nebo to berete jako test nervů programátora? :-)

 
Odpovědět 19. listopadu 0:10
Avatar
Radka Jánská:19. listopadu 0:12

Ahoj, u if bych takto nezjednodušovala podmínku. Tuším, že pak výstup nebude správný pro záporná čísla. Nebo se pletu? :-)

 
Odpovědět 19. listopadu 0:12
Avatar
Vitaliy Lyubachivskyy:19. listopadu 18:42

Ahoj, prosím o kontrolu, jestli jsem něco nepřehlídnul. Vše vypisuje ok ale systém mě pořád né a né pustit.Díky za každou radu.

Scanner sc = new Scanner(System.in, "Windows-1250");
        System.out.println("Zadejte levou mez 1. intervalu:");
        int leva1 = Integer.parseInt(sc.nextLine());
        System.out.println("Zadejte pravou mez 1. intervalu:");
        int prava1 = Integer.parseInt(sc.nextLine());
        System.out.println("Zadejte levou mez 2. intervalu:");
        int leva2 = Integer.parseInt(sc.nextLine());
        System.out.println("Zadejte pravou mez 2. intervalu");
        int prava2 = Integer.parseInt(sc.nextLine());
        System.out.printf("Dvojice čísel (1. z prvního intervalu a 2. z druhého intervalu), jejichž součet\n" +
"leží alespoň v jednom z intervalů:");
        for (int e = leva1; ((e >= leva1) && (e <= prava1)); e++) {
            System.out.println();
            for (int f = leva2; ((f >= leva2) && (f <= prava2)); f++) {
                int soucet = e + f;
                if (soucet <= prava1) {
                    System.out.print("[" + e + ";" + f + "], ");

                }
            }
        }
    }
}
Odpovědět 19. listopadu 18:42
Nejlepší je překonávat nemožné.
Avatar
zitekv
Člen
Avatar
Odpovídá na Vitaliy Lyubachivskyy
zitekv:19. listopadu 20:10

Bude to nejspíš tímto:

jejichž součet leží alespoň v jednom z intervalů.

 
Odpovědět 19. listopadu 20:10
Avatar
Odpovídá na zitekv
Vitaliy Lyubachivskyy:19. listopadu 20:24

díky, jdu předělávat...;

Odpovědět 19. listopadu 20:24
Nejlepší je překonávat nemožné.
Avatar
Jana Hejná
Člen
Avatar
Odpovídá na Radka Jánská
Jana Hejná:19. listopadu 22:12

Díky. Upravila jsem to, ale prochází mi to jen na 50%. Text ani čísla nemám zalomené, že byto bylo tím?
Trápím se, trápím, a nevím :-(

Scanner sc = new Scanner(System­.in,"Windows-1250");
System.out.prin­tln("Zadejte levou mez 1. intervalu:");
int a = Integer.parse­Int(sc.nextLi­ne());
System.out.prin­tln("Zadejte pravou mez 1. intervalu:");
int b = Integer.parse­Int(sc.nextLi­ne());
System.out.prin­tln("Zadejte levou mez 2. intervalu:");
int c = Integer.parse­Int(sc.nextLi­ne());
System.out.prin­tln("Zadejte pravou mez 2. intervalu:");
int d = Integer.parse­Int(sc.nextLi­ne());
System.out.prin­tln("Dvojice čísel (1. z prvního intervalu a 2. z druhého intervalu), jejichž součet leží alespoň v jednom z intervalů:");

for (int i = a;((i >= a) && (i <= b)); i++)
{
for (int j = c;((j >= c) && (j <= d)); j++)
{
int s = i+j;
if (((s >= a) || ( s >= c))&& ((s <= b) || (s <= d)))
System.out.prin­t("["+i+";"+j+"], ");
}

 
Odpovědět 19. listopadu 22:12
Avatar
mhmarekholly
Člen
Avatar
mhmarekholly:Včera 17:23

Dve hodiny hľadám v čom je chyba a prečo mi neberie tretí príklad a potom si v komentároch prečítam že je to kvôli od riadkovaniu tej dlhej vety :D

 
Odpovědět Včera 17:23
Avatar
mhmarekholly
Člen
Avatar
Odpovídá na Jana Hejná
mhmarekholly:Včera 19:56

Ahoj, zemeral by som sa na tú funkciu if

 
Odpovědět Včera 19:56
Avatar
Jana Hejná
Člen
Avatar
Odpovídá na mhmarekholly
Jana Hejná:Včera 22:15

Díky, tak už mi to taky prošlo.

 
Odpovědět  +1 Včera 22:15
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 90. Zobrazit vše