IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
m1h2k3
Člen
Avatar
m1h2k3:3.6.2020 20:49

Ahoj, prosím o pomoc s dvěma úkoly, absolutně si s něma nevím rady

Vytvořte celočíselnou proměnnou a pomocí příkazu switch vypište, zda se číslo rovná: 1, 2, 3, ..., 10.

Využijte 'default' a vypište, že číslo se nepovedlo určit.

Celé to využijte ve for-cyklu od 0 do 10 (kde 10 už se nepovede určit).

a druhý:
Vygenerujte dvě čísla, každé v rozmezí od 0 do 100.

  1. Za použití while-cyklu postupně odečítejte od prvního čísla jedničku, dokud je větší než druhé.

V každé iteraci bude průběžně výpis obou proměnných na jeden řádek.

  1. za použití do-while cyklu postupně odečítejte od druhého čísla jedničku, dokud je větší než první.

Zkusil jsem: .

Chci docílit: .

 
Odpovědět
3.6.2020 20:49
Avatar
Alesh
Tvůrce
Avatar
Odpovídá na m1h2k3
Alesh:3.6.2020 21:27

V tom prvním případě je napsané, že cyklus má začít od 0 a má jít do 10 (není jasné, zda ty meze intervalu se mají zahrnout). Rovnost se má porovnávat k číslům od 1 do 10, ale zároveň se v zadání píše, že u 10 se má vypisovat, že nelze určit. Pokud to chápu dobře, tak je to v rozporu s tou předešlou větou. Jinak si myslím, že autor příkladu očekává něco takového (asi bude teda potřeba drobně upravit ty meze):

for (int cislo = 1; cislo <= 10; cislo++) {
    switch (cislo) {
        case 1:
            System.out.println("Číslo je rovná 1.");
            break;
        case 2:
            System.out.println("Číslo je rovná 2.");
            break;
        case 3:
            System.out.println("Číslo je rovná 3.");
            break;
        case 4:
            System.out.println("Číslo je rovná 4.");
            break;
        case 5:
            System.out.println("Číslo je rovná 5.");
            break;
        case 6:
            System.out.println("Číslo je rovná 6.");
            break;
        case 7:
            System.out.println("Číslo je rovná 7.");
            break;
        case 8:
            System.out.println("Číslo je rovná 8.");
            break;
        case 9:
            System.out.println("Číslo je rovná 9.");
            break;
        default:
            System.out.println("Číslo se nepovedlo určit.");
    }
}
 
Nahoru Odpovědět
3.6.2020 21:27
Avatar
DarkCoder
Člen
Avatar
Odpovídá na m1h2k3
DarkCoder:3.6.2020 21:29

Zadání prvního příkladu je dosti nešťastné. Co autor zamýšlel s for cyklem to ví akorát on sám.
No a co máš hotovo? Zadání si dostal, ale nic, na co by se dalo reagovat..

Zde máš napovědu:

Syntax switch

switch(expression) {
  case x:
    // code block
    break;
  case y:
    // code block
    break;
  default:
    // code block
}

Syntax while

while (condition) {
  // code block to be executed
}

Syntax do-while

do {
  // code block to be executed
}
while (condition);
Nahoru Odpovědět
3.6.2020 21:29
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
m1h2k3
Člen
Avatar
m1h2k3:3.6.2020 21:35

Velice vám děkuji, něco takového jsem zamýšlel, ale přišlo mi to příliš jednoduché, popravdě jsem taky zadání pořádně nepochopil, proto jsem tam hledal nějaký háček, který tam zřejmě není, jen je zadání je nepřesné

 
Nahoru Odpovědět
3.6.2020 21:35
Avatar
Alesh
Tvůrce
Avatar
Odpovídá na m1h2k3
Alesh:3.6.2020 21:38

No, tak ten druhý už vymlaskneš sám, ne? ;-)

 
Nahoru Odpovědět
3.6.2020 21:38
Avatar
m1h2k3
Člen
Avatar
m1h2k3:3.6.2020 21:39

Děkuji, teď už ano :)

 
Nahoru Odpovědět
3.6.2020 21:39
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 6 zpráv z 6.