Inicjowanie tablicy i dodawanie elementów w pętli

0

Problem mam taki, że chcę aby użytkownik miał możliwość wpisania ile chce wpisać elementów do tablicy a potem je uzupełnił. Problem z tym, że pierwszy element tablicy ustawia pusty. Jak to zmienić? Wydaje się proste ale mam jakieś zaćmienie.

public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Scanner sc = new Scanner(System.in);
		
		int amount=sc.nextInt();

		String tab[] = new String[amount];
	
		for (int i=0;i<tab.length; i++){
			
			tab[i]=sc.nextLine().trim();

			
		}
		
		sc.close();

		for(int j=0;j<tab.length; j++){
		System.out.println("INPUT "+tab[j]);
		}

	}

}
0

na moje oko problem lezy w funkcji nextLine() podobny problem - stackoverflow.com/questions/5032356/using-scanner-nextline

0

Przy zastosowaniu strumienia działa jak chciałem:

public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		
		BufferedReader rd = new BufferedReader(new InputStreamReader(System.in));
		
		int amount=Integer.parseInt(rd.readLine());

		String tab[] = new String[amount];
	
		for (int i=0;i<tab.length; i++){

			tab[i]=rd.readLine().trim();
	
		}
		
		rd.close();

		for(int j=0;j<tab.length; j++){
		System.out.println("INPUT "+tab[j]);
		}

	}
Input:
3
2 2
2 2
2 2

Output:

INPUT 2 2
INPUT 2 2
INPUT 2 2 

Mimo to dalej mile widziane objaśnienia/sugestie :)

1

nextLine dziala na zasadzie najdywania separatora i wczytywania tresci do nastepnego separatora nowej linii. w tym przypadku separator pozostaje w buforze stad pierwsza wartosc zostaje pominieta az do nastepnego gdzie dziala

0

Metoda nextInt() odczytuje liczbę, ale wpisując liczbę nacisnąłeś Enter, i ten Enter jest w buforze klawiatury. Pierwsze wywołanie nextLine() czyta wszystko (czyli pusty String) do tego Entera.

        int amount=sc.nextInt();
        sc.nextLine(); //tego brakowało
 
        String tab[] = new String[amount];
0

Ewentualnie:
int amount=Integer.parseInt(sc.nextLine());
Dzięki za odpowiedzi.

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