NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

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

V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Roman Duchoň:29.9.2016 14:18

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.9.2016 14:20
Odpovědět
29.9.2016 14:18
RD
Avatar
Odpovídá na Roman Duchoň
Michal Haňáček:29.9.2016 14:35

Ahoj Romane, co hledáš je tady

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
29.9.2016 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ň:29.9.2016 14:39

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.9.2016 14:39
RD
Avatar
Odpovídá na Roman Duchoň
Michal Haňáček:29.9.2016 14:53

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
29.9.2016 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.