Přejít na hlavní obsah

Zadávání hodnot z klávesnice v Javě: základní metody a příklady kódu

  • Vojtěch Hrubý
  • Tipy

V Javě se pro zadávání hodnot z klávesnice používá třída Scanner z balíčku java.util. Tato třída poskytuje různé metody pro čtení dat z konzole, včetně čísel, řádků a dalších datových typů.

Hlavní metodou pro zadávání hodnoty z klávesnice je metoda next(), která čte další slovo oddělené mezerou nebo překladem řádku. Pokud je třeba počítat pouze jedno slovo, lze použít metodu nextLine (), která čte celý řádek.

Příklad použití metody next ():

import java.util.Scanner;

public class KeyboardInputExample

public static void main(String[] args)

Scanner scanner = new Scanner(System.in);

System.out.print ("zadejte své jméno: ");

String name = scanner.next();

System.out.println ("Ahoj," + name +"!");

>

>

V tomto příkladu program požádá uživatele o zadání jeho jména a poté jej zobrazí na obrazovce s pozdravem. Metoda next () čte pouze první slovo zadané uživatelem.

Pokud je třeba počítat celé číslo, lze použít metodu nextInt(). Pokud chcete počítat zlomkové číslo, můžete použít metodu nextDouble(). Podobně existují vhodné metody pro čtení jiných typů dat, jako je boolean nebo char.

Použití metod třídy Scanner umožňuje snadné a pohodlné čtení dat z klávesnice v programu v Javě. Usnadňují vstupní proces a činí program interaktivnějším.

Metoda nextInt pro zadávání celočíselných hodnot

Chcete-li použít metodu nextInt (), musíte nejprve vytvořit instanci třídy Scanner . Poté můžete volat metodu nextInt ().

Příklad použití metody nextInt () pro zadání celočíselných hodnot je následující:

import java.util.Scanner;public class Main >

V tomto příkladu program požádá uživatele o zadání celého čísla, přečte jej pomocí metody nextInt() a zobrazí zadané číslo na obrazovku.

Je třeba poznamenat, že metoda nextInt () očekává zadání celého čísla, a pokud uživatel zadal nesprávnou hodnotu (například ne číslo), program zahodí výjimku InputMismatchException . Proto je vhodné před voláním nextInt() zkontrolovat, že další Token je celé číslo pomocí metody hasNextInt() .

Použití Scanner a nextInt

Chcete-li použít třídu Scanner, musíte nejprve vytvořit objekt této třídy uvedením standardního vstupního toku jako parametru System.in:

import java.util.Scanner;public class Main >

Po vytvoření objektu Scanner můžete použít metodu nextInt() ke čtení celočíselných hodnot:

int x = scanner.nextInt();

Metoda nextInt () přečte následující celočíselnou hodnotu ze vstupního toku a vrátí ji. Tuto hodnotu můžete přiřadit proměnné nebo ji použít, jak chcete.

Příklad programu, který přečte dvě celá čísla z klávesnice a vybere jejich součet:

import java.util.Scanner;public class Main >

Při provádění tohoto programu se zobrazí výzva k zadání prvního a druhého čísla. Po zadání hodnot program vypíše jejich součet.

Všimněte si, že metoda nextInt() čte pouze jedno celé číslo. Pokud chcete počítat celý řádek, můžete použít metodu nextLine(). Použití dalších metod třídy Scanner ke čtení hodnot z klávesnice v Javě se můžete naučit v příslušné příručce.

Příklad kódu pro zadání celočíselné hodnoty

Pro zadání celočíselné hodnoty z klávesnice v Javě lze použít třídu Scanner.

Níže je uveden příklad kódu, který ukazuje tento proces:

import java.util.Scanner;public class Main >

V tomto příkladu vytvoříme instanci třídy Scanner, která vám umožní číst data z klávesnice. Poté se zobrazí výzva k zadání čísla pomocí metody System.out.print(). Uživatel zadá číslo z klávesnice, stiskne klávesu Enter a zadaná hodnota se uloží do proměnné number pomocí metody scanner.nextInt(). Nakonec pomocí metody System.out.println () se zobrazí zadané číslo na obrazovce.

Metoda nextDouble pro zadávání čísel s plovoucí desetinnou čárkou

Příklad použití metody nextDouble() :

import java.util.Scanner;public class Main >

V tomto příkladu program požádá uživatele o zadání čísla s plovoucí desetinnou čárkou pomocí metody nextDouble (). Zadané číslo je poté uloženo do proměnné number a zobrazeno na obrazovce.

Při použití metody nextDouble () je třeba vzít v úvahu, že pokud uživatel zadá hodnotu, která není plovoucí desetinná čárka, program vyhodí výjimku InputMismatchException . Proto se doporučuje použít konstrukci try-catch ke zpracování možné vstupní chyby.

Použití Scanner a nextDouble

Metoda nextDouble () je jednou z metod Scanner, která umožňuje číst reálná čísla z klávesnice. Tato metoda čte následující reálné číslo ze vstupního datového toku a vrací jej jako hodnotu typu double.

Níže je uveden příklad použití Scanner a nextDouble ke čtení reálného čísla z klávesnice:

public class Main

public static void main(String[] args)

Scanner scanner = new Scanner(System.in);

System.out.print ("zadejte reálné číslo: ");

double number = scanner.nextDouble();

System.out.println ("zadali jste číslo:" + číslo);

V tomto příkladu vytvoříme objekt Scanner, který bude použit ke čtení vstupů z klávesnice. Poté zobrazíme pozvánku na obrazovku, aby uživatel zadal reálné číslo. Poté použijeme metodu nextDouble ke čtení hodnoty a jejímu uložení do proměnné number typu double. Nakonec uvedeme zadané číslo na obrazovku.

Všimněte si, že metoda nextDouble může způsobit vyloučení InputMismatchException, pokud následující zadaný řádek není reálné číslo. Abyste se vyhnuli chybě, můžete pomocí metody hasNextDouble zkontrolovat, zda je následující zadaný řádek reálné číslo před vyvoláním metody nextDouble:

public class Main

public static void main(String[] args)

Scanner scanner = new Scanner(System.in);

System.out.print ("zadejte reálné číslo: ");

double number = scanner.nextDouble();

System.out.println ("zadali jste číslo:" + číslo);

System.out.println ("chyba: zadaná hodnota není reálné číslo.");

V tomto příkladu jsme přidali podmíněnou kontrolu pomocí metody hasNextDouble. Pokud je další zadaný řádek věcné číslo, čteme jej pomocí metody nextDouble a zobrazujeme jej na obrazovce. V opačném případě se zobrazí chybová zpráva.

Použití Scanner a nextDouble usnadňuje čtení reálných čísel z klávesnice v Javě. To je zvláště užitečné při psaní programů, které vyžadují psaní a zpracování čísel s plovoucí desetinnou čárkou.

Příklad kódu pro zadání čísla s plovoucí desetinnou čárkou

Pro psaní čísla s plovoucí desetinnou čárkou z klávesnice v Javě lze použít třídu Scanner a metodu nextDouble(). Zde je jednoduchý příklad kódu:

Při provádění tohoto kódu vás program požádá o zadání čísla s plovoucí desetinnou čárkou. Po zadání se toto číslo zobrazí na obrazovce.

Všimněte si, že tento příklad používá třídu Scanner z balíčku java.util. Nezapomeňte importovat tuto třídu do svého kódu.

Za zmínku také stojí, že metoda nextDouble() čte pouze jedno číslo s plovoucí desetinnou čárkou ze vstupního toku. Pokud chcete počítat více čísel, je nutné tuto metodu znovu vyvolat pro každé číslo.

Pokud uživatel zadá hodnotu, která není plovoucí desetinná čárka, program vydá výjimku InputMismatchException. Abyste tomu zabránili, můžete použít metodu hasNextDouble() ke kontrole, že další zadaný Token je číslo s plovoucí desetinnou čárkou.