-1

Суть программы: пользователь вводит сначала количество имен (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 Answers1

0

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

int quantity_players=input.nextInt();

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

int quantity_players = Integer.parseInt(input.nextLine());