Diskuze: Problém se zadáváním dat

Java Java Problém se zadáváním dat

Avatar
Impuls
Člen
Avatar
Impuls:

Ahoj, mám tu naprosto jednoduchou část kódu, ale nechápu proč mi to neukládá slovo na nultý index pole. Prosím o radu. :)

Scanner sc = new Scanner(System.in);
        System.out.println("Zadejte pocet mest: ");
        int pocetMest = sc.nextInt();
        String[] mesta = new String[pocetMest];

        for(int i = 0; i < mesta.length; i++) {
            System.out.println("Zadejte nazev mesta: ");
            mesta[i] = sc.nextLine();
        }
 
Odpovědět 19. února 13:55
Avatar
Atrament
Člen
Avatar
Atrament:

Jo to je celkem znamý problém, vraž tam za to načtení počtu měst řádek:

sc.nextLine();

a tím to fixneš, jde pravděpodobně o to, že při tom načítání intu pomocí nextInt nedojde k zpracování Enteru a ten tam zůstane viset a rovnou se vloží do prvního následujícího nextLine, takže se ti vlastně uloží do toho nultého prvku v mesta. (Moje soukromá teorie nikdy jsem to podrobně nezkoumal)

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět 19. února 14:07
Avatar
Impuls
Člen
Avatar
Impuls:

Taková kravinka. Díky moc seš super! :)

 
Nahoru Odpovědět 19. února 15:06
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 3 zpráv z 3.