Scanner

0

Czesć! Zaczynam naukę z Javą i jestem w trakcie kursu na stronie edX (na marginesie polecacie jakies inne strony/ kursy do nauki tego języka?Celuję w aplikacje mobilne. Po nauce Javy chciałbym się zabrać za SQL) . Niestety spotkałem się z problemem. Wykonując ten kod:

import java.util.Scanner;

class HelloWorld {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Podaj liczbę:");
        int number = scanner.nextInt();
        System.out.println("Podaj napis:");
        String word = scanner.nextLine();
        System.out.println(word + " " +number);
    }
}

Podaję liczbę, zatwierdzam enterem,a następnie automatycznie program nie czeka aż wpiszę stringa tylko wartosć tego Int'a jest przypisywana do Stringa word. Jezeli odwrócę kolejnosć wpisywania (najpierw string, a później int to wszystko jest ok - program czeka aż wpiszę stringa). Z góry dziękuję za pomoc

4

Hejka!

Po scanner.nextInt() musisz wywołać jeszcze scanner.nextLine() (kwestia znaków kończących linię):

import java.util.Scanner;

class HelloWorld {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Podaj liczbę:");
        int number = scanner.nextInt();
        scanner.nextLine();
        System.out.println("Podaj napis:");
        String word = scanner.nextLine();

        System.out.println(word + " " +number);
    }
}

Poczytaj odpowiedź tutaj: https://stackoverflow.com/que[...]e-after-using-next-or-nextfoo

0
Burdzi0 napisał(a):

Hejka!

Po scanner.nextInt() musisz wywołać jeszcze scanner.nextLine() (kwestia znaków kończących linię):

import java.util.Scanner;

class HelloWorld {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Podaj liczbę:");
        int number = scanner.nextInt();
        scanner.nextLine();
        System.out.println("Podaj napis:");
        String word = scanner.nextLine();

        System.out.println(word + " " +number);
    }
}

Poczytaj odpowiedź tutaj: https://stackoverflow.com/que[...]e-after-using-next-or-nextfoo

Dziękuję za pomoc! :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0