Zadávání dat z klávesnice je jedním z důležitých aspektů programování v jazyce Java. Umožňuje uživateli komunikovat s programem a předávat mu požadované hodnoty. V této podrobné příručce se podíváme na různé způsoby implementace vstupu z klávesnice v jazyce Java.
Pro začátek se podíváme na použití třídy Scanner. Třída Scanner poskytuje praktické metody pro čtení různých typů dat z klávesnice. Scanner můžete použít ke čtení čísel, řádků, znaků atd. Navíc vám umožňuje zpracovávat vstupní chyby, což z něj dělá velmi výkonný nástroj.
Jedním z nejjednodušších způsobů čtení dat z klávesnice je použití metody next() třídy Scanner. Tato metoda přečte řetězec znaků až do první mezery nebo znaku nového řádku a vrátí výsledek. Pokud chcete počítat pouze jedno slovo, může to být velmi užitečné. Ale pokud chcete počítat celý řádek nebo několik slov, budete muset použít jiné metody, jako je nextLine().
Scanner scanner = new Scanner(System.in);
System.out.print ("zadejte své jméno: ");
String name = scanner.nextLine();
System.out.println ("Ahoj," + name +"!");
Toto je jen malý přehled způsobů implementace vstupu z klávesnice v jazyce Java. V tomto článku se na každý z nich podíváme podrobněji a uvedeme příklady použití. Nyní, když znáte základy psaní z klávesnice v jazyce Java, můžete jej začít používat ve svých programech a vytvářet interaktivnější aplikace.
Příprava na vstup
Než začnete psát z klávesnice v jazyce Java, musíte se seznámit s několika základními třídami, které poskytují pohodlný způsob čtení dat z konzole.
První třídou, kterou je třeba zvážit, je třída Scanner. Je to pohodlný obal nad systémovým vstupem, který vám umožní číst různé typy dat z konzole.
Chcete-li použít třídu Scanner, musíte ji zahrnout do programu importem z balíčku java.util:
Po zapnutí třídy Scanner do programu je možné vytvořit objekt této třídy a použít jej ke čtení dat z klávesnice.
Následující kód například ilustruje jednoduchý způsob čtení řádku z klávesnice:
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
V tomto příkladu je vytvořen nový objekt třídy Scanner spojený se standardním vstupem (System.in). poté je vyvolána metoda nextLine (), která přečte řádek zadaný z klávesnice a uloží jej do proměnné input.
Kromě metody nextLine () poskytuje třída Scanner další metody pro čtení různých typů dat, jako je nextInt() pro čtení celých čísel, nextDouble() pro čtení čísel s plovoucí desetinnou čárkou atd.
Je důležité si uvědomit, že třída Scanner je citlivá na registr,takže vstup musí odpovídat očekávanému formátu dat. Například při volání metody nextInt (), pokud vstup není celé číslo, bude vygenerována výjimka.
Nyní, když jsme obeznámeni se základní přípravou, je možné přejít k úvahám o různých způsobech použití třídy Scanner k zadávání dat z klávesnice v jazyce Java.
Použití třídy Scanner
Pro zadávání dat z klávesnice v jazyce Java můžete použít třídu Scanner. Tato třída poskytuje praktické metody pro čtení různých typů dat.
Nejprve musíte importovat třídu Scanner přidáním následujícího řádku na začátek souboru:
import java.util.Scanner;
Poté vytvořte instanci třídy Scanner pomocí následujícího řádku kódu:
Scanner scanner = new Scanner(System.in);
Nyní můžete použít metody třídy Scanner ke čtení dat z klávesnice. Zde je několik příkladů:
-
Čtení řádku:
String name = scanner.nextLine();
int age = scanner.nextInt();
double weight = scanner.nextDouble();
Všimněte si, že po přečtení čísla nebo řádku pomocí metod nextInt (), nextDouble() nebo nextLine (), kurzor zůstává na stejném řádku. Metodu nextLine() můžete použít ihned po přečtení čísla a přejít na další řádek.
Nezapomeňte zavřít instanci Scanner, když ji již nepotřebujete, pomocí následujícího řádku kódu:
scanner.close();
Použití třídy Scanner pro psaní z klávesnice v jazyce Java je snadný a pohodlný způsob, jak získat data od uživatele během provádění programu.
Zpracování různých typů dat
Při zadávání dat z klávesnice v jazyce Java je možné nejen získat textové informace, ale také zpracovat různé typy dat.
K tomu existují různé metody, které umožňují převést zadané informace na požadovaný typ dat. Některé z nich:
- nextInt () - pro čtení celých čísel
- nextDouble () - pro čtení čísel s plovoucí desetinnou čárkou
- nextBoolean() - pro čtení hodnoty bulu
- nextLine () - pro čtení řádku
Příklad použití metody nextInt() :
import java.util.Scanner;public class Main >
Příklad použití metody nextDouble() :
import java.util.Scanner;public class Main >
Všimněte si, že při použití metod nextInt() a nextDouble() po zadání čísla musíte stisknout klávesu Enter, abyste dokončili vstup.
Pokud zadané informace nejsou správně zpracovány, může dojít k chybě během provádění programu. Pro bezpečnost se proto doporučuje použít metody hasNextInt (), hasNextDouble() a hasNextLine () před použitím metod nextInt (), nextDouble () a nextLine () ke kontrole, zda lze hodnotu tohoto typu dat považovat.
Příklad použití metody hasNextInt() :
import java.util.Scanner;public class Main else >>
Podobně je možné kontrolovat i další datové typy.
Použití příslušných metod tedy umožňuje získat a zpracovat různé typy dat při zadávání z klávesnice v jazyce Java.
Zpracování chyb při zadávání
Při práci se zadáváním dat z klávesnice v jazyce Java je třeba vzít v úvahu možné chyby, které mohou nastat při čtení zadaných hodnot. V této části se podíváme na několik způsobů zpracování chyb při zadávání těchto hodnot.
1. Výjimky
Jedním ze způsobů zpracování chyb při zadávání je použití výjimek. V Javě existují různé výjimky, které mohou nastat při čtení zadaných hodnot, například, InputMismatchException nebo NumberFormatException. Pro zpracování těchto výjimek lze použít konstrukci try-catch kde v bloku try čteme hodnoty a v bloku catch - zpracování možné výjimky.
try catch (InputMismatchException e)
2. Kontrola zadaných údajů
K ověření zadaných dat lze použít podmíněné operátory a cykly. Můžete například zkontrolovat, zda zadaná hodnota odpovídá očekávanému typu dat nebo zda je v určitém rozsahu.
int num;boolean valid = false;while (!valid) = 0 && num else > catch (InputMismatchException e) >
3. Další kontroly
Kromě kontroly datového typu a rozsahu hodnoty můžete provést další kontroly, jako je přítomnost povinného symbolu nebo formát zadané hodnoty.
String str;boolean valid = false;while (!valid) else >
Zpracování chyb při zadávání dat z klávesnice v jazyce Java tak umožňuje zohlednit možné chyby a zabránit jejich výskytu a zároveň zajistit spolehlivější provoz programu.