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:
- Napište program, který požádá uživatele o zadání jednoho celého čísla. Poté program vypíše, jestli dané číslo:
- je kladné
- leží v intervalu (-10, 10)
- je sudé
- je dělitené 3 nebo 5
- Napište program, který požádá uživatele o zadání tří čísel a určí největší z nich.
- 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:
- Vypište všechna čísla od 100 do 1 sestupně.
- Vypište všechny násobky čísla 7 menší než 1000 (vzestupně).
- 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.
- 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é.)
- 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.
- Určete součet všech sudých čísel ležících mezi čísly 1000 a 2000.
- 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:
- Vypište všechna čísla od 100 do 1 sestupně. Použijte cyklus
while
.
- Vypište všechny násobky čísla 7 menší než 1000 (vzestupně). Použijte cyklus
do-while
.
- 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
.
- 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
.
- Pokuste se upravit program z předchozí úlohy tak, že použijete cyklus
do-while
.
- 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é.
- 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>.
- 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>.
- 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
- 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
.
- 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
.
- 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.
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
- 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
.
- 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!".