V programování v jazyce Java je velmi často vyžadováno zadávání dat z klávesnice. V tomto článku se podíváme na to, jak lze z klávesnice zadávat řádky nebo znakové sekvence. To může být užitečné v mnoha situacích, jako je získání uživatelského jména, psaní textu pro vyhledávání nebo zadání parametrů programu.
V Javě existuje několik způsobů, jak psát řádky z klávesnice. Jedním z nejjednodušších způsobů je použití třídy Scanner ze standardní knihovny Java. Nejprve musíte vytvořit objekt této třídy a přenést do něj vstupní proud - System.in, což je standardní vstupní proud spojený s klávesnicí. Metody třídy Scanner lze poté použít k zadání různých typů dat, včetně řádků.
Alternativně lze třídu Scanner použít třídu BufferedReader z balíčku java.io. Chcete-li to provést, musíte vytvořit objekt této třídy tím, že do jeho konstruktoru přenesete objekt třídy InputStreamReader, který se zase dostane do vstupního toku vstupu. K psaní řádků z klávesnice pak můžete použít metody třídy BufferedReader.
Příklad použití třídy Scanner pro zadání řádku:
Scanner scanner = new Scanner(System.in);
System.out.print ("zadejte řádek: ");
String str = scanner.nextLine();
Příklad použití třídy BufferedReader k zadání řádku:
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print ("zadejte řádek: ");
String str = reader.readLine();
V obou příkladech vám uvedené řádky kódu umožňují zadat řádek z klávesnice. Po zadání řádku se uloží do proměnné str a lze jej dále použít v programu.
Java: příklady psaní řádku z klávesnice
V programovacím jazyce Java lze pomocí třídy číst řádky z klávesnice Scanner. Níže je několik příkladů použití této třídy ke čtení řádků.
Příklad 1:
Příklad 2:
Příklad 3:
Je důležité si uvědomit, že po zadání řádku musíte stisknout klávesu "Enter", aby byla data čtena programem.
Třída Scanner také poskytuje další metody pro psaní, jako je čtení čísel nebo znaků. Použijte je podle svého úkolu.
Příklad 1: použití třídy Scanner
Chcete-li použít třídu Scanner, musíte nejprve vytvořit instanci této třídy. Ve třídním konstruktoru je předán objekt typu InputStream, který označuje, odkud budou data čtena. V případě, že data musí být čtena z klávesnice, je jako argument konstruktérovi předán objekt typu System.in, který představuje standardní vstupní tok.
import java.util.Scanner;public class Main >
V tomto příkladu je nejprve vytvořen objekt třídy Scanner s argumentem System.in. poté se pomocí metody nextLine () přečte řádek z klávesnice a uloží se do proměnné name. Poté se pomocí metody nextInt () přečte celé číslo a uloží se do proměnné age. Nakonec jsou na obrazovce zobrazeny hodnoty proměnných name a age.
Spuštěním tohoto programu můžeme z klávesnice zadat název a věk, po kterém program zobrazí uvítací zprávu s těmito daty.
Příklad 2: použití třídy BufferedReader
Třída BufferedReader ze standardní knihovny Java poskytuje efektivnější způsob čtení řádku z klávesnice.
Před použitím třídy BufferedReader je nutné importovat příslušný balíček:
Poté vytvořte instanci třídy BufferedReader tím, že jako argument předáte objekt System.in:
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Pro čtení řádku použijte metodu readLine() :
String line = br.readLine();
V tomto příkladu bude po přečtení řádku jeho hodnota obsažena v proměnné line .
Níže je uveden úplný kód příkladu:
import java.io.BufferedReader;import java.io.InputStreamReader;public class Main catch (Exception e) >>
Všimněte si, že metoda readLine() může vyhodit výjimku IOException, takže její použití vyžaduje zpracování výjimky.
Použití třídy BufferedReader umožňuje flexibilnější řízení procesu čtení řádku z klávesnice a zpracování možných výjimek.
Příklad 3: použití třídy InputStreamReader
V následujícím příkladu používáme třídu InputStreamReader pro psaní řádku z klávesnice:
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main catch (IOException e) >>
V tomto příkladu vytváříme objekt třídy BufferedReader, který přijímá objekt třídy inputstreamreader jako parametr, který zase přijímá objekt jako parametr System.in pro čtení dat z klávesnice.
Poté použijeme metodu readLine () objektu reader ke čtení řádku z klávesnice. Tato metoda vrací řádek zadaný uživatelem. Tento řádek zobrazujeme pomocí metody println ().
Je důležité poznamenat, že metoda readLine() může způsobit vyloučení IOException, takže ji zpracováváme pomocí bloku try-catch.