Přejít na hlavní obsah

Jak v Javě zadat hodnoty z klávesnice: podrobný průvodce

Při vývoji programů v jazyce Java je velmi často nutné zadávat hodnoty z klávesnice. To může být nezbytné pro práci s uživatelskými daty, nastavení programu a pro mnoho dalších účelů. V tomto článku se podíváme na různé způsoby zadávání hodnot z klávesnice v Javě a také na různé techniky a triky, které vám pomohou tento úkol zvládnout.

Pro zadávání hodnot z klávesnice v Javě lze použít třídu Scanner ze standardní knihovny Java. Poskytuje praktické metody pro čtení různých typů dat, včetně celých čísel, čísel s plovoucím bodem, řádků a bulevských hodnot. Chcete-li začít s třídou Scanner, musíte vytvořit její instanci:

Scanner scanner = new Scanner(System.in);

Jakmile je instance Scanner vytvořena, můžete použít její metody ke čtení hodnot z klávesnice. Například ke čtení celého čísla lze použít metodu nextInt():

int number = scanner.nextInt();

A pro čtení řádku-metoda nextLine():

String text = scanner.nextLine();

Nesmíme také zapomínat, že po každém čtení z klávesnice je nutné uvolnit zdroje obsazené instancí Scanner. K tomu lze použít metodu close():

scanner.close();

Někdy je potřeba validovat data zadaná uživatelem. Java pro tento účel poskytuje celou řadu metod třídy Scanner. Například pomocí metody hasNextInt() je možné zkontrolovat, zda je další zadaný Token celé číslo:

if (scanner.hasNextInt()) int number = scanner.nextInt();
// kód prováděný v případě, že zadaná hodnota je celé číslo
>

Zadávání hodnot z klávesnice do Javy je tedy snadný úkol, který lze vyřešit pomocí třídy Scanner. Je však třeba mít na paměti, že zadávání dat může obsahovat nesprávné hodnoty, proto je třeba vždy stanovit kontrolu a validaci údajů zadaných uživatelem.

Vytvoření objektu Scanner pro zadávání dat

Pro zadávání dat z klávesnice v programovacím jazyce Java se používá třída Scanner z balíčku java.util. Chcete-li vytvořit objekt Scanner, musíte postupovat podle následujících kroků:

    Importovat třídu Scanner pomocí následujícího řádku kódu:

import java.util.Scanner;
Scanner scanner = new Scanner(System.in);

Ve výše uvedeném kódu je proměnná "scanner" objektem třídy Scanner a "System.in" představuje standardní vstup, který odpovídá klávesnici.

Po vytvoření objektu Scanner jej lze použít ke čtení různých typů dat z klávesnice, například:

    Pro čtení celých čísel:
int number = scanner.nextInt();
double number = scanner.nextDouble();
String text = scanner.nextLine();

Po přečtení dat z klávesnice je lze použít v programu k provádění různých operací.

Čtení hodnot různých typů dat

V Javě existuje několik způsobů, jak počítat hodnoty různých typů dat z klávesnice.

Pro čtení hodnoty celočíselného typu (int, long, short) lze použít třídu Scanner:

Typ datMetoda
intnextInt()
longnextLong()
shortnextShort()
Scanner scanner = new Scanner(System.in);System.out.println("Введите целое число:");int number = scanner.nextInt();System.out.println("Вы ввели число: " + number);

Pro čtení hodnoty čísla s plovoucím bodem (float, double) se také používá třída Scanner:

Typ datMetoda
floatnextFloat()
doublenextDouble()
Scanner scanner = new Scanner(System.in);System.out.println("Введите число с плавающей точкой:");double number = scanner.nextDouble();System.out.println("Вы ввели число: " + number);

Pro čtení hodnoty znakového typu (char) se používá metoda next().charAt(0):

Scanner scanner = new Scanner(System.in);System.out.println("Введите символ:");char symbol = scanner.next().charAt(0);System.out.println("Вы ввели символ: " + symbol);

Pro čtení logického typu (boolean) se používá metoda nextBoolean ():

Scanner scanner = new Scanner(System.in);System.out.println("Введите логическое значение (true/false):");boolean value = scanner.nextBoolean();System.out.println("Вы ввели значение: " + value);

Zpracování chyb a výjimek při zadávání dat

Při zadávání dat z klávesnice je důležité vzít v úvahu možnost chyb, které se mohou uživateli stát. Pro zpracování těchto chyb se v Javě používají výjimky.

Při použití třídy Scanner pro čtení dat z klávesnice lze zpracovat různé výjimečné situace:

  • InputMismatchException-nastane,pokud uživatel zadá hodnotu nesprávného typu dat.
  • NumberFormatException-nastane, pokud uživatel zadá řetězec, který nelze převést na číslo.
  • NoSuchElementException-nastane, pokud nejsou zadána data nebo vyčerpán celý vstupní tok.

Pro zpracování výjimek pro zadávání dat z klávesnice je nutné použít konstrukci try-catch. V bloku try se provádí kód, ve kterém může dojít k vyloučení, a v bloku catch je zpracována výjimka a jsou prováděny příslušné akce.

Příklad zpracování chyb při zadávání dat z klávesnice:

import java.util.Scanner;public class Main catch (InputMismatchException e) scanner.close();>>

V tomto příkladu, pokud uživatel zadá hodnotu nesprávného typu dat, zobrazí se chybová zpráva. Program není přerušen a program bude pokračovat ve své práci.

Manipulace s chybami a výjimkami při zadávání dat z klávesnice umožňuje vytvářet spolehlivé programy, které při nesprávném zadávání dat uživatelem nezaseknou. Správné zpracování chyb pomáhá zlepšit uživatelskou zkušenost a předcházet nepředvídaným situacím.