После выполнения вашего кода я не увидел ошибку, которую вы упомянули.Кроме того, желаемый результат немного неоднозначен.Тем не менее, я попытался реализовать то, что я из него интерпретировал, используя BufferedReader вроде,
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int nSize;
System.out.println("Enter size of array to store data..:");
try {
nSize = Integer.parseInt(reader.readLine());
String[] names = new String[nSize]; // name array
long[] phone = new long[nSize]; // phone array
for (int i = 0; i < nSize; i++) {
System.out.println("Enter name..:");
names[i] = reader.readLine();
System.out.println("Enter phone number.:");
phone[i] = Long.parseLong(reader.readLine());
}
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Проверьте, помогает ли это.