Scanner

TS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
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:

Kopiuj
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

Burdzi0
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Futurama
  • Postów: 887
4

Hejka!

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

Kopiuj
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/questions/13102045/scanner-is-skipping-nextline-after-using-next-or-nextfoo

TS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0
Burdzi0 napisał(a):

Hejka!

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

Kopiuj
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/questions/13102045/scanner-is-skipping-nextline-after-using-next-or-nextfoo

Dziękuję za pomoc! :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.