pr1j_10_ui.ppt
Stiahnuť PPT · 230 kBPreber si túto poznámku so svojou AI
Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto poznámky.
Náhľad poznámky
Komunikácia s používateľom
konzola
parametre príkazového riadku
súbory ako komunikačný prostriedok
dialógové okná
GUI (Graphical User Interface)
Štandardný výstup
prostredníctvom System.out.print (ln)
v prípade potreby odloženia/uloženia
výstupov je žiaduce uložiť ich do súboru
– vytvárame súbor cez stream...
– uložíme vypisované údaje presmerovaním
výstupu do súboru
– pri spustení programu presmerujeme výstup
Presmerovanie výstupu
zmeníme PrintStream, ktorý má na starosti
vypisovanie:
...
try {
// presmerovanie do daneho suboru
// vzhladom na specifickost znaku “\” je potrebne do stringu
// uviest dva “\\” – vysledkom bude string s jednym znakom
“\”
System.setOut(new PrintStream (“c:\\vystup.txt”));
System.out.println(“Toto je pokus c. ”);
System.out.println(22);
} catch (IOException e) {
System.out.Print (e.getMessage());
}
Presmerovanie výstupu programu
pokiaľ máme hotový program, možno tiež
jeho textový výstup premerovať do súboru:
– napr. zadaním do príkazového riadku:
java program.class > subor.txt
Vstupy
rovnako ako výstupy, možno aj textové
vstupy dostať do programu viacerými
spôsobmi
–
konzolová komunikácia
–
parametre príkazového riadku
–
zo súboru:
čítaním vstupov z rovnakého súboru
zadaním súboru ako parametra príkazového riadku
Konzolová komunikácia
prezentovaná na predchádzajúcej prednáške
vstup je reprezentovaný ako tok (stream) zo
štandarného vstupu System.in
– vstup je obvykle bufferovaný, vďaka čomu
možno čítať naraz viac znakov (napr. riadok)
– musí byť ošetrený voči výnimkám vzniknutých
z dôvodu nesprávnych vstupov
Kód – opakovanie
try { // zabalenie do výnimky
// vytvorim kb ako stream zo vstupu
InputStreamReader kb = new InputStreamReader (System.in);
// „obalim“ ho buferom – znaky sa budu ukladat do buffera
// kym sa nevyvola precitanie
BufferedReader bufer = new BufferedReader (kb);
// precitam do stringovej premennej cely riadok
// operacia sa vykona az vtedy, ked stlacim Enter
String vstup = bufer.readLine();
// buffer uz nepotrebujem, ukoncim pracu s nim
bufer.close();
}catch (IOException e) {
System.out.println(e.getMessage());
}
Parametre príkazového riadku
java aplikácie dokážu prijať akékoľvek
množstvo argumentov z príkazového riadku
týmto spôsobom uľahčujú potencionálnemu
používateľovi vkladanie údajov bez potreby
interaktívnej komunikácie s programom
– môže volať aplikáciu z inej
aplikácie, prostredníctvom
linku (zástupcu) a pod.
Získanie parametrov
parametre vstupujú do programu prostredníctvom
poľa stringov uvedeného v každom záhlaví
procedúry main
public static void main( String[] args )
každý string v tomto poli predstavuje jeden
argument
– argumenty sa uložia do poľa typu string s názvom
args
– získať ich dokážeme rovnako ako z iného poľa
Výpis parametrov
napr. pre výpis parametrov príkazového
riadku:
public static void main(String[] args ){
for(int i=0; i<args.length; i++){
System.out.println( args[i] );
}
}
Zadanie parametrov v IDE
kvôli ladeniu je vhodné zadávať parametre
aj pri vytváraní programu:
– kliknutím na názov projektu zobrazíme menu
– kde vyberieme Properties
Analýza parametrov
často do jednoduchých programov vvstupujú číselné
parametre, ktorých číselnosť je nutné overiť:
try
{
int Arg1 = 0;
if (args.length > 0){
Arg1 = Integer.parseInt(args[0]);
} catch (NumberFormatException e) {
System.out.println(“Zle data: ”+e.getMessage());
...
getMessage() vráti info o čísle, ktoré sa nepodarilo
previesť
Úlohy
Napíšte program, ktorý vypíše súčet číselných
argumentov. V prípade nesprávnych parametrov
informujte používateľa a ukončite program.
Napíšte program, ktorý z zadanom zozname parametrov
nájde maximálne číslo.
Napíšte program, ktorý pre dva argumenty (znak a
reťazec) zistí počet výskytov znaku v reťazci.
Napíšte program, ktorý reťazec zadaný ako agrument
vypíše odzadu.
Práca so súbormi 1
umožňuje v určitom zmysle štruktúrovať
vstupy aj výstupy
–
v súbore môžu byť uložené informácie v
podobe:
–
tieto dokážeme pomerne ľahko dekódovať
Práca so súbormi 2
často potrebujeme údaje ako prečítať, tak i
uložiť a súčasne s nimi dokázať pracovať aj
mimo programu
–
údaje majú veľmi často „tabuľkový“ charakter
–
ako oddeľovač sa najčastejšie používa
bodkočiarka alebo tabulátor (formát csv)
–
v rámci programu a konzoly je akurát mierne
náročná manipulácia s takýmto zoznamom
Práca so súbormi 3
vrcholom tejto aktivity je prečítanie súboru na základe
zadaného argumentu programu.
Napíšte program, ktorý vyhodnotí správnosť
matematických príkladov vyriešených v súbore so
zadaným názvom. Predpokladajte dodržanie zásad:
–
nepoužívať medzery
–
v prípade neznalosti študenta sa mohlo stať, že príklad zostal
nevyriešený
–
výsledky uložte do súboru, ktorého názov je zadaný ako druhý
argument.
Práca so súbormi 4
riešenie tentokrát nie je súčasťou
prezentácie, nájdete ho ako okomentovanú
prílohu
Zamyslite sa 1.
Napíšte program, ktorý dokáže zašifrovať
text uložený v súbore zadanom
prostredníctvom príkazového riadku do
nového súboru tiež zadaného ako argument
programu. Šifrujte tak, že za každý znak
správy vložíte ďalšie dva náhodné. Napr.
Dedo nepi bude Daseasdfyoyunesedfptri.
Napíšte aj program pre dešifrovanie.
Zamyslite sa 2.
Napíšte program, ktorý načíta súbor so
štruktúrou:
– meno športovca,
– disciplína,
– počet dosiahnutých bodov,
– počet bodov potrebných na olympiádu
a spracuje ho tak, že do súboru
kvalifikovali.txt uloží športovcov, ktorí sa na
olympiádu kvalifikovali a do súboru
nekvalifikovali.txt zase tých, ktorých body
nedosiahli požadovanú hodnotu.
Zamyslite sa 3.
Je daný textový súbor, v ktorom sa eviduje
mesačná dochádzka zamestnancov. Navrhnite
spôsob, akým možno evidovať celoročnú
dochádzku a vytvorte program, ktorý spracuje
mesačné mzdy (na základe počtu odpracovaných
dní, dní na PN, dovolenky a dní neplateného
voľna). Výsledkom procesu bude súbor, v ktorom
bude meno zamestnanca, dvojbodka a suma ktorú
dostane na výplatnú pásku.
Dialógové okná
predstavujú vyššiu formu komunikácie
používame ich od začiatku
– ShowInputDialog (textový vstup)
– ShowMessageDialog (textový výstup)
existujú aj ďalšie typy okien, napr.
– ShowConfirmDialog v zápise
int i=JOptionPane.showConfirmDialog(null,"Naozaj?");
– vracia:
hodnotu 0 pre tlačidlo Yes
hodnotu 1 pre tlačidlo No
hodnotu 2 pre tlačidlo Cancel
Dialógové okná II.
sprostredkúvajú najzákladnejšiu oknoidnú
komunikáciu
predstavujú prechod medzi konzolovým a
grafickým riešením
prečo teda neprejsť k tvorbe grafického
rozhrania?
Záver - GUI
Graphical User Interface
o grafickom prostredí sa popísalo a
pohovorilo už mnoho,
–
niekomu vyhovuje, iný má voči nemu výhrady
fakt je ten, že až nástup okien (Windows)
umožnil rozšírenie IKT aj medzi menej
technicky zdatných používateľov
aplikácia bez GUI je dnes ťažko masovo
rozšíriteľná...
Document Outline
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
Automaticky vygenerovaný textový náhľad. Pre plné formátovanie si stiahnite súbor.
nechodím na prednášky