Programování v jazyce Java – řídící struktury

Ukázka porovnání dvou čísel

import java.util.Scanner;
 
class Porovnani {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Napis cele cislo a: ");
        int a;
        a = sc.nextInt();
        System.out.print("Napis cele cislo b: ");
        int b;
        b = sc.nextInt();
        if (a > b) 
            System.out.print("Cislo a je vetsi nez b.");
        else
    	    System.out.print("Cislo a je mensi nebo rovno cislu b.");
    }
}

Ukázka - jak poznat sudé číslo (číslo dělitelné 2)

import java.util.Scanner;
 
class Sude {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Napis cele cislo a: ");
        int a;
        a = sc.nextInt();
        if (a % 2 == 0) 
            System.out.print("Cislo a je sude.");
        else
    	    System.out.print("Cislo a je liche.");
    }
}

Úkoly:

  1. Napište program, který požádá uživatele o zadání jednoho celého čísla. Poté program vypíše, jestli dané číslo:
    1. je kladné
    2. leží v intervalu (-10, 10)
    3. je sudé
    4. je dělitené 3 nebo 5
  2. Napište program, který požádá uživatele o zadání tří čísel a určí největší z nich.
  3. Napište program, který požádá uživatele o zadání tří čísel a vypíše je v pořadí od nejmenšího k největšímu.

Ukázka cyklu for - výpis všech lichých čísel od 1 do 99

class VypisLichych {  
    public static void main(String[] args) {  
        int i, s=0;
        for (i=1; i <= 99; i+=2)
        {    
            System.out.println(i);                              
        }          
    }
} 

Ukázka cyklu for - součet čísel od 1 do 100

class Soucet100 {  
    public static void main(String[] args) {  
        int i, s=0;
        for (i=1; i <= 100; i++)
        {    
            s = s + i;                 
        }  
        System.out.println(s);             
    }
} 

Výpis znaků z části Unicode tabulky

class Znaky {  
    public static void main(String[] args) {  
        int i;
        for (i=32; i <= 127; i++)
        {    
            System.out.println((char)i);                 
        }                   
    }
}

Úkoly:

  1. Vypište všechna čísla od 100 do 1 sestupně.
  2. Vypište všechny násobky čísla 7 menší než 1000 (vzestupně).
  3. Napište program, který vyzve uživatele, aby zadal přirozené číslo. Program potom vypíše všechna lichá čísla, která jsou menší než zadané číslo.
  4. Napište program, který vyzve uživatele, aby zadal dvě celá čísla. Program potom vypíše všechna čísla, která leží mezi těmito dvěma zadanými čísly. (Pozor, program musí fungovat i v případě, že první zadané číslo je větší než druhé.)
  5. Napište program, který vyzve uživatele, aby zadal dva znaky. Program potom vypíše všechny znaky z Unicode tabulky, které leží mezi těmito dvěma zadanými znaky.
  6. Určete součet všech sudých čísel ležících mezi čísly 1000 a 2000.
  7. Napište program, který vypočítá faktoriál zadaného čísla.

Ukázka cyklu while - program sčítá čísla dokud nezadáme 0

import java.util.Scanner;  
    
class Scitacka1 {  
    public static void main(String[] args) {  
        Scanner sc = new Scanner(System.in);  
        System.out.print("Napis cislo: ");
        int s = 0;
        int i = sc.nextInt();        
        while (i!=0)
        {   
            s = s + i; 
            System.out.print("Mezisoucet je: ");
            System.out.println(s);
            System.out.print("Napis dalsi cislo: ");
            i = sc.nextInt();                              
        }         
    }
}

Ukázka cyklu do-while - program sčítá čísla dokud nezadáme 0

import java.util.Scanner;  
    
class Scitacka2 {  
    public static void main(String[] args) {  
        Scanner sc = new Scanner(System.in);  
        System.out.print("Napis cislo: ");
        int s = 0;
        int i = sc.nextInt();        
        do
        {   
            s = s + i; 
            System.out.print("Mezisoucet je: ");
            System.out.println(s);
            System.out.print("Napis dalsi cislo: ");
            i = sc.nextInt();                              
        } while (i!=0);        
    }
}

Úkoly:

  1. Vypište všechna čísla od 100 do 1 sestupně. Použijte cyklus while.
  2. Vypište všechny násobky čísla 7 menší než 1000 (vzestupně). Použijte cyklus do-while.
  3. Napište program, který vyzve uživatele, aby zadal přirozené číslo. Program potom vypíše všechna lichá čísla, která jsou menší než zadané číslo. Vyzkoušejte variantu s cyklem while i s cyklem do-while.
  4. Napište program, který postupně násobí celá čísla, která zadává uživatel po spuštění programu. Program průběžně vypisuje aktuální výsledek (součin). Program skončí ve chvíli, kdy uživatel zadá číslo 0 (nula). Použijte cyklus while.
  5. Pokuste se upravit program z předchozí úlohy tak, že použijete cyklus do-while.
  6. Napište program, který čte celá čísla (zadávaná uživatelem po spuštění programu) tak dlouho, dokud uživatel nezadá číslo 0 (nula). U každého zadaného čísla program vypíše, jestli je sudé, nebo liché.
  7. Napište program, který čte celá čísla (zadávaná uživatelem po spuštění programu) tak dlouho, dokud uživatel nezadá číslo 0 (nula). Na závěr program vypíše, kolik zadaných čísel bylo z intervalu <10, 20>.
  8. Napište program, který přečte n čísel zadávaných postupně uživatelem (číslo n zadá uživatel jako první). Pro každý vstup čísla program vypíše:
    Zadej 1. cislo:
    Zadej 2. cislo:
    ...
    Ze zadaných čísel určete, kolik jich leží v intervalu <50, 100>.
  9. Napište program, který přečte n čísel zadávaných postupně uživatelem (číslo n zadá uživatel jako první) a určí největší z nich.

Testové úlohy 1

  1. Napište program, který vypíše postupně přirozená čísla od 1 do 20 spolu s jejich druhými mocninami. Výpis by měl vypadat takto:
    1 na druhou je 1
    2 na druhou je 4
    3 na druhou je 9
    ...
    Použijte cyklus for.
  2. Napište program, který vyzve uživatele, aby zadal přirozené číslo n. Program potom vypíše postupně přirozená čísla od 1 do n spolu s jejich druhými mocninami. Výpis by měl vypadat, například, takto:
    Zadej číslo n: 5
    1 na druhou je 1
    2 na druhou je 4
    3 na druhou je 9
    4 na druhou je 16
    5 na druhou je 25
    Použijte cyklus while.
  3. Napište program, který čte celá čísla (zadávaná uživatelem po spuštění programu) tak dlouho, dokud uživatel nezadá číslo 0 (nula). U každého zadaného čísla program vypíše jeho druhou mocninu.
  4. Výpis by měl vypadat, například, takto:
    Zadej číslo: 3
    3 na druhou je 9
    --------------------
    Zadej číslo: 7
    7 na druhou je 49
    --------------------
    Zadej číslo: 12
    12 na druhou je 144
    --------------------
    Zadej číslo: 0
    Konec
    Použijte cyklus do-while.

Testové úlohy 2

  1. Napište program, který vypíše postupně přirozená čísla od 1 do 20 spolu s počtem hvězdiček rovným danému číslu. Výpis by měl vypadat takto:
    1 *
    2 **
    3 ***
    ...
    
    Použijte cyklus for.
  2. Napište program, který čte celá čísla (zadávaná uživatelem po spuštění programu) tak dlouho, dokud uživatel nezadá číslo 0 (nula). U každého zadaného čísla program vypíše takový počet hvězdiček, jaké číslo bylo zadáno. Výpis by měl vypadat, například, takto:
    Zadej číslo: 3
    3 ***
    Zadej číslo: 7
    7 *******
    Zadej číslo: 12
    12 ************
    Zadej číslo: 0
    Konec
    
    Vylepšení: Pokud je zadané číslo větší 50, program nevypíše hvězdičky, ale text "Moc velke cislo!".