Dlaczego program nie widzi scannera?

0

Witam oto kod mojej metody

public boolean createTable(){
    		String[] nazwyKol= new String[100];
    		int wybor;
    		int index=0;
    		String nazwa;
    		
    		Scanner sc = new Scanner(System.in);
    		System.out.println("Podaj nazwe tabeli");
    		nazwa=sc.nextLine();
    		
    		System.out.println("1.Dodaj kolumne");
    		System.out.println("2.Zakoncz dodawanie");
    		wybor = sc.nextInt();
    		while(wybor!=2)
    		{
    			
    		    
    		      System.out.println(index+" Podaj nazwe kolumny");
//    		      String tmp=sc.nextLine();
    		      nazwyKol[index] = sc.nextLine();
    		      System.out.println("Utworzono kolumne o nazwie "+nazwyKol[index]);
    		      
    		      		System.out.println("1.Dodaj kolumne");
    	    			System.out.println("2.Zakoncz dodawanie");
    	    			  wybor = sc.nextInt();
    	    	  index++;
//    		      wybor=2;
    		}

//        	}
        	return true;
    }

Chodzi o to że program nie czeka na linie
nazwyKol[index] = sc.nextLine();
od razu przechodzi do println'ów. Dlaczego tak jest co robię źle?

e: tyle godzin myślenia :) no ale takiej bzdury się spodziewałem, DZIĘKI bogdans!

2

Kod

wybor = sc.nextInt();

czyta z bufora klawiatury tylko liczbę, nie czyta Entera, który musiałeś nacisnąć, i który został w buforze klawiatury. Następne nextLine() czyta ten zostawiony ENTER. Wyczyść bufor klawiatury (sc.nextLine();).

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