PPT

pr1j_10_ui.ppt

Formát
PPT
Veľkosť
230 kB
Pridané
Stiahnutí
584
Hodnotenie
3,0/5
Stiahnuť PPT · 230 kB

Preber 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.

Otvoriť AI: ChatGPT · Claude · Gemini

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


Automaticky vygenerovaný textový náhľad. Pre plné formátovanie si stiahnite súbor.