Warning
This page is located in archive. Go to the latest version of this course pages. Go the latest version of this page.

Vstup z konzole

Pro interakci programu s uživatelem je nutné načítat zadávané hodnoty do proměnných. Pro čtení je využita třída Scanner, která je součástí balíku java.util. Proto je nutné na začátku kódu programu tuto třídu naimportovat. Dále je nutné čtení inicializovat. Do programu se přidají následující řádky (včetně umístění).

package nazevprojektu;
import java.util.Scanner;
/**
 *
 * @author xyz
 */
public class Main {
 
        public static void main(String[] args) {
 
    Scanner sc = new Scanner(System.in);
..... 

Při načítání desetiných čísel může vzniknout problém s desetinným oddělovačem. Z tohoto důvodu je nutné jako další příkaz nastavit správnou lokalitu. V následujícím kódu nastavíme US lokalitu, tedy oddělovačem desetinných míst je tečka.

....
 
Scanner sc = new Scanner(System.in);
sc.useLocale(Locale.US);
..... 

Načítání hodnot se řídí použitým datovým typem - volíme vždy správnou metodu

int:

int i;
i = sc.nextInt();
double:
double d;
d = sc.nextDouble();
string - celý řádek:
String s;
s = sc.nextLine();
string - řetězec do bíleho znaku (mezera)
String s;
s = sc.next();
Je nutné dát pozor, v tomto případě zůstává zbytek (řádku včetně jeho ukončení (Enter)) nenačten.

char :

char znak;
znak = sc.nextLine().charAt(0);
Pozn. Jde vlastně o načtení celého řádku a vybrání pouze prvního znaku.

courses/b0b36pjv/tutorials/02/vstup_z_konzole.txt · Last modified: 2018/02/06 08:43 (external edit)