Во время ввода string переменных в массив с клавиатуры пропускается ячейка массива с 0-ым индексом

Суть программы: пользователь вводит сначала количество имен (quantity_players), которое он хочет поместить в массив, а потом начинает их перечислять. Во время перечисления возникает баг. В массиве не заполняется ячейка с индексом 0. В выводе это отображается как подряд идущая строка Enter name: Enter name: и только с индекса массива 1 идет заполнение. Выводится тоже первый номер пустой.

package com.company;
import java.util.Scanner;
import java.util.Random;

public class Task3 {

    public static void main(String args[]){
        //game();
        users_name();
    }
    public static void users_name(){

        Scanner input=new Scanner(System.in);
        System.out.print("Enter quantity players: ");
        int quantity_players=input.nextInt();

        String users_name[]=new String[quantity_players];
        for (int i=0;i<quantity_players;i++){
            System.out.print("Enter name: ");
            users_name[i]=input.nextLine();
        }
        for (int i=0;i<quantity_players;i++){
            System.out.printf("%d. player: %s\n",i+1,users_name[i]);
        }
    }
}

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Дмитрий Алексеенко

В текущем варианте вы считываете только число без анализа конца строки пришедшей из консоли данных

int quantity_players=input.nextInt();

В это варианте вы считаете всю строку из консоли

int quantity_players = Integer.parseInt(input.nextLine());
→ Ссылка