Zdar, mám na středu odeslat úkol do školy, a sice vytvořit nějaký pidiprográmek v Javě, ale upřímně nevím, která bije.... Dělá v tom někdo?
Printable View
Zdar, mám na středu odeslat úkol do školy, a sice vytvořit nějaký pidiprográmek v Javě, ale upřímně nevím, která bije.... Dělá v tom někdo?
by to mozna chtelo nahodit nejake tema, ne? pod pojmem pidiprogramek si muzu predstavit tisic veci :) Ma to byt hello world nebo neco slozitejsiho? Ma to mit gui nebo jen konzolovy vystup? atd..
toto
8. Přečtěte dvě celá čísla a zeptejte se, jakou operaci s nimi máte provést (+, -, *, přesné dělení, celočíselné dělení a zbytek po celočíselném dělení). Vytiskněte výsledek. Pozor na dělení nulou u operací dělení a zbytek po dělení! Pokud dojde k zadání chybného čísla operace, vypište upozornění na obrazovku.
Použijte příkaz switch !!!
Vstup a výstup upravte takto:
Zadej 1. číslo: …
Zadej 2. číslo: …
1 … sčítaní
2 … odčítaní
3 … násobení
4 … přesné dělení
5 … celočíselné dělení
6 … zbytek po celočíselném dělení
Moc jsem se s tím neštval a asi to není to nejlepší řešení z nejlepších, ale mělo by to fungovat :)...
Třída Start:
Třída Pocitadlo:Kód:public class Start {
public static void main (String [] args){
Pocitadlo pocitadlo = new Pocitadlo();
pocitadlo.pocitej();
}
}
Kód:import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Pocitadlo {
private boolean konec = false;
private boolean zadanoPrvniCislo = false;
private int prvniCislo = 0;
private boolean zadanoDruheCislo = false;
private int druheCislo = 0;
public void pocitej() {
while (!konec) {
if (!zadanoPrvniCislo) {
System.out.print("Zadej 1. číslo: ");
prvniCislo = prectiInt();
zadanoPrvniCislo = true;
}
else if (!zadanoDruheCislo) {
System.out.print("Zadej 2. číslo: ");
druheCislo = prectiInt();
zadanoDruheCislo = true;
}
else {
System.out.println("1 ... sčítaní");
System.out.println("2 ... odčítaní");
System.out.println("3 ... násobení");
System.out.println("4 ... přesné dělení");
System.out.println("5 ... celočíselné dělení");
System.out.println("6 ... zbytek po celočíselném dělení");
System.out.print("Vybraná operace: ");
int cisloOperace = prectiInt();
switch (cisloOperace) {
case 1:
System.out.print(prvniCislo+" + "+druheCislo+" = ");
System.out.print(prvniCislo+druheCislo);
break;
case 2:
System.out.print(prvniCislo+" - "+druheCislo+" = ");
System.out.print(prvniCislo-druheCislo);
break;
case 3:
System.out.print(prvniCislo+" * "+druheCislo+" = ");
System.out.print(prvniCislo*druheCislo);
break;
case 4:
if (druheCislo == 0) {
System.out.println("Není možné dělit nulou.");
}
else {
System.out.print(prvniCislo+" / "+druheCislo+" = ");
System.out.print((double)prvniCislo/druheCislo);
}
break;
case 5:
if (druheCislo == 0) {
System.out.println("Není možné dělit nulou.");
}
else {
System.out.print(prvniCislo+" / "+druheCislo+" = ");
System.out.print(prvniCislo/druheCislo);
}
break;
case 6:
if (druheCislo == 0) {
System.out.println("Není možné dělit nulou.");
}
else {
System.out.print(prvniCislo+" % "+druheCislo+" = ");
System.out.print(prvniCislo%druheCislo);
}
break;
default:
System.out.println("Operace č. "+cisloOperace+" není definována.");
break;
}
konec = true;
}
}
}
private int prectiInt() {
String vstupniRadek = "";
BufferedReader vstup = new BufferedReader(new InputStreamReader(System.in));
try {
vstupniRadek = vstup.readLine();
if (vstupniRadek.equals("konec")) {
konec = true;
return 0;
}
else {
try {
int x = Integer.parseInt(vstupniRadek);
return x;
}
catch(NumberFormatException e) {
System.out.println("Zadaná hodnota není číslo");
konec = true;
return 0;
}
}
}
catch (java.io.IOException e) {
System.out.println("Vyskytla se chyba během čtení příkazu.");
konec = true;
return 0;
}
}
}
Místo "první číslo" dám 1 a místo druhého dvojku a celé to nasypu do JCreatoru, tak to bude OK??
Díky
Nechápu.... co s konzolí?
kallas > myslel jsme jak máš napsáno "první číslo" a "druhé číslo" že tam rovnou nějaké napíšu... takže ne, OK
Já jsem ten text normálně nakopíroval do JCreatoru (jako by to byl poznámkový blok) a uložil do souborku *.java - OK?
Aha, díky, stačí to mít napsaný jako soubor "abc.java"
jasně, tak jsem to myslel, jeden bude "start.java" a druhý pocitadlo.java" tak jak jsi to rozepsal
Napsal jsem
V prgani plati nepsane pravidlo, ze domaci ukoly se tam nikomu resit nebudou, a to bez vyjimek. Takze zadne presuny.
Kdyz tak koukam na uroven znalosti tazatele, tak objekty asi budou docela napadny :)
Ne, jen jsem smeroval na to, ze s Javou taky zaciname a objekty se ucime az ted - tudiz kdyz on nevi, ze soubor se musi jmenovat stejne jako hlavni trida, tak vyucujicimu asi bude divny, ze tam pouziva objekt .. Jinak se to bez nich da udelat taky, ne? :)
No já nevím ... Už protože musí být main static mně to jinak než s druhou třídou nenapadá...
jedik: pardon :) zapomněl jsem...
Objekty jsme brali na posledni prednasce, uz se s nima dela :) Kazdopadne u nas by asi neproslo, kdyby na takovou zakladni operaci nekdo pouzil objekty, pac v dobe, kdy jsme delali takovyhle typy prikladu vetsina lidi o objektech nemela ani paru :)