Gyakorlati alapok

Ami már eddig is nagyon hiányzott: az adatbekérés

 

Az adatbekérés során a programot interaktívvá tesszük...

 

www.informatika-programozas.hu - Adatbekérés

 

...azaz megengedjük a felhasználónak, hogy a program valamelyik pontján beavatkozzon a működésébe. A felhasználói programok többsége ilyen jellegű és ez a programfejlesztés irányai szempontjából fokozatosan döntő jelentőségűvé vált. Ezáltal a program jóval személyesebbé, testre szabhatóvá, ezáltal "emberbarátivá" válik, ám a felhasználói beavatkozás komoly biztonsági kockázatokat is hordoz magában. Ezzel ma már minden programozó tisztában van...

 

www.informatika-programozas.hu - Ezt most meg kell tanulni!

 

...alapkövetelmény tehát a programok "bolondbiztossá" tétele, amely során körültekintő módon lekezeljük, hogy felhasználói beavatkozás során ne kerülhessen rossz vagy káros adat a rendszerbe.

 

Az alapszintű, adatbekéréses algoritmusoknál azonban erre még nem fogunk törekedni, mert ez feleslegesen megterhelné a tananyag elsajátítását. A későbbiekben ezzel akkor fogunk foglalkozni, amikor ezeket a rutinokat külön metódusokba tudjuk majd illeszteni.

 

Az adatfogadásért felelős rutingyűjtemény a java.util csomagban található (import java.util.Scanner;). Mivel fontos (manapság már alapkövetelmény) a felhasználóval történő folyamatos kommunikáció, üzenetek, egyéb jelzések formájában mindig tájékoztatni kell őt a történtekről. Először üdvözöljük a felhasználót, majd kérjük be a nevét, hogy aztán kiírjuk azt a konzolra:

 

www.informatika-programozas.hu - Futtatható Java-kód!

 

 

 

 

 

 

 


import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
    Scanner scanner = new Scanner (System.in);
    System.out.println ("Üdvözlöm! \nKérem, hogy adja meg a nevét!");
    String nev = scanner.nextLine();
    System.out.println (nev);
    }
}

 

Végeredmény (például):

Üdvözlöm!
Kérem, hogy adja meg a nevét!

Kákonyi Monília

Kákonyi Monília

 

www.informatika-programozas.hu - Ezt most meg kell tanulni!

 

Persze valójában bármilyen karakterfüzért (stringet) vagy karakterkombinációt beadhatunk, mivel a beviteli karakterek figyelése már említett módon nincs lekezelve.

 

Osztálypéldányosítás után (Scanner scanner = new Scanner (System.in);) a scanner nevű objektum nextLine() metódusa gondoskodik az adatok billentyűzeten keresztül történő fogadásáról. A begépelt karakterfüzér a String nev objektumba kerül, a karakterbevitelt ENTER lenyomásával zárhatjuk le, a Java-kód csak ezután fut tovább, kiírva a bevitt nevet-karakterfüzért. A 2. üzenet közepén lévő \n szimbólum ("Üdvözlöm! \nKérem, hogy adja meg a nevét!") a szövegben sortörést okoz kiíráskor.

 

Ennyi a továbbiak folytatásához talán elég is; a kód gyorsan és pontosan, de még ellenőrizetlenül kér be valamilyen felhasználói adatot.