(Java) Program nie działa tak jak powinien

0

Witajcie, mam problem ze swoim kodem. Jest on banalnie prosty ma za zadanie przyjąć od użytkownika 3 wartości następnie je wypisać w zdaniu. Przepraszam, że temat wątku nie określa mojego problemu, ale nie wiedziałem jak go dobrze ująć. :)

Kod:

import java.util.Scanner;


public class Bang
{

	public static void main(String[] args) 
{
		try {
			Scanner in = new Scanner(System.in);
			System.out.println("Witaj, podaj swój wiek");
			int wiek = in.nextInt();
			System.out.println("Okej to teraz podaj jak masz na imię");
			String imie = in.nextLine();
			System.out.println("Teraz podaj prosze ile masz wzrostu");
			double wzrost = in.nextDouble();
			
			System.out.println("Witaj, " + imie + "masz " + wiek + " lat i masz " + wzrost + " wzrostu");
			
			
			
			
			in.close();
			
			
} finally {
       
		
}
	}

}

Kiedy skompiluję kod, wpisuje pierwszą wartość jest okej, kiedy klikam enter na raz wyskakują dwa zdania, gdzie powinno to wyglądać tak, że dopiero po przyjęciu kolejnej wartości pojawia się kolejne.
Dziękuję za pomoc.
(Do tekstu w System.out.println nie przywiązywałem póki co dużej uwagi aby to dobrze brzmiało dlatego może to brzmieć dziwnie) :)

2

po: int wiek = in.nextInt(); w skanerze zostaje jeszcze <Enter> który jest odbierany poprzez String imie = in.nextLine();

0
_13th_Dragon napisał(a):

po: int wiek = in.nextInt(); w skanerze zostaje jeszcze <Enter> który jest odbierany poprzez String imie = in.nextLine();

Niestety choćbym nie wiadomo ile nad Twoją wypowiedzią się głowił to nie jestem w stanie zrozumieć co masz na myśli. Jeżeli mógłbyś jaśniej. (W żadnym wypadku nie oczekuję gotowca, bo chciałbym zrozumieć swój błąd w kodzie).

3

Metoda nextInt() czyta do pierwszego białego znaku (spacja, Tab, Enter), resztę pozostawia w buforze klawiatury. Po ukazaniu się tekstu

Witaj, podaj swój wiek

użytkownik wpisał 21 EnterMetoda nextInt() pobrała 21, pojawił się tekstOkej to teraz podaj jak masz na imię
Metoda nextLine() - nie czekając na działania użytkownika - pobrała z bufora klawiatury pusty String i usunęła Enter.

0
bogdans napisał(a):

Metoda nextInt() czyta do pierwszego białego znaku (spacja, Tab, Enter), resztę pozostawia w buforze klawiatury. Po ukazaniu się tekstu

Witaj, podaj swój wiek

użytkownik wpisał 21 EnterMetoda nextInt() pobrała 21, pojawił się tekstOkej to teraz podaj jak masz na imię

Metoda nextLine() - nie czekając na działania użytkownika - pobrała z bufora klawiatury pusty String i usunęła Enter.

Dziękuje bardzo! Zrozumiałem gdzie leży problem, wykonałem w kodzie jedną poprawkę i wszystko działa jak należy:

String imie = in.nextLine();

Usunąłem "Line"

String imie = in.next();

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