Diskuze: Ošetření vstupu Scanner a např. LocalDate (a jiné)

Java Java Ošetření vstupu Scanner a např. LocalDate (a jiné)

Avatar
Roman Duchoň:

Ahoj, jsem u 11. lekce OOP (zde) a pořád čekám nějaké tipy, jak ošetřit vstup.
Příklad (výstřižek):

private String zadani;
private LocalDate datum = LocalDate.now();
private DateTimeFormatter formatData = DateTimeFormatter.ofPattern("dd.MM.yyyy");
    public void prepis()  {
        System.out.println("Zadej datum svého narození ve formátu: DD.MM.RRRR");
        zadani = sc.nextLine();
        this.datum = LocalDate.parse(zadani, formatData);
    }

Jak tedy udělat, aby když zadám nějakej nesmysl, nevyhodil program chybu?
Nějaké takové to while není splněna podmínka... tak System.out.prin­tln("Špatné zadání. Zadej znovu:") a zase Scanner.
Nebo to jde jinak?

A jak by to šlo u tohoto konkrétního případu? Něco jako že zadani != formatData...?

Nebo to zatím nemám řešit a zde nebo jinde časem narazím na lepší metodu, jak ošetřit vstup?

Trochu mi to vrtá hlavou, protože když už udělám nějakej prográmek, co se mi líbí, chci aby fachal pořádně. :)
A při odpovědích prosím berte v potaz, že jsem začátečník! Děkuji.

Editováno 29. září 14:20
Odpovědět 29. září 14:18
RD
Avatar
Odpovídá na Roman Duchoň
Michal Haňáček:

Ahoj Romane, co hledáš je tady

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 29. září 14:35
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Avatar
Odpovídá na Michal Haňáček
Roman Duchoň:

Shodou náhod jsem přesně to samé (URL) našel přes Google a rovnou i zprovoznil.
Pak se chci vrátit, pochlubit se a už je tu odpověď.

I tak díky. :)

Funguje to skvěle a teď už mě nic nezastaví. :D

Nahoru Odpovědět 29. září 14:39
RD
Avatar
Odpovídá na Roman Duchoň
Michal Haňáček:

Není za co. Skoro se mi chce říct, že ošetřování výjimek budeš potřebovat víc než (téměř) cokoli jiného.

Držím pěsti v dalším snažení.

Nahoru Odpovědět  +1 29. září 14:53
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.