Im в настоящее время находится в процессе создания программы и хранит данные, и я столкнулся с проблемой, когда она дважды печатает заявление и считает его двумя в массиве (его трудно объяснить так плохо показать)Имея странную проблему с массивом
так это код
public static void GetData()
{
Scanner input = new Scanner(System.in);
System.out.println("How many names do you want to enter?");
int num = input.nextInt();
int array[] = new int[num];
for (int i = 0 ; i < array.length ; i++)
{
String[] names = new String[num];
System.out.println("enter employee's name: ");
names[i] = input.nextLine();
}
for(int j = 0; j < array.length;j++)
{
double[] payrate = new double[num];
System.out.println("enter employee's payrate: ");
payrate[j] = input.nextDouble();
}
}
}
проблемы является его распечатывания:
How many names do you want to enter?
4
enter employee's name:
enter employee's name:
harry
enter employee's name:
larry
enter employee's name:
mary
enter employee's payrate:
дважды сразу так, когда пользователь декларирует пусть говорит массив размер 4, он будет печатать это дважды, и он будет считать, что в качестве двух пятен уже сейчас он учитывает только 3 данных и переключается на следующий массив, я честно не уверен, что вызывает это, я попытался отладить его но он ничего мне не говорит, любая помощь будет любима!
'nextInt()' оставляет символ новой строки на 'input'. Первая 'nextLine()' захватывает эту новую строку. – forgivenson