как посчитать количество чисел в массиве java введенных с клавиатуры?
Задача.
- Ввести с клавиатуры неопределенное количество элементов(цифер). Используя BufferedReader.
- Составить массив из этих чисел.
- Посчитать количество элементов(чисел) в массиве.
- Сложить элементы и найти среднеарифметическое значение.
Не могу никак понять, как сделать так, чтобы количество элементов в массиве не было установлено заранее, а зависело от количество введенных с клавиатуры элементов.
Ответы (2 шт):
Задача наверное подталкивает к использованию новых структур данных, в данном случае так называемых динамических массивов. Можно в примеру использовать ArrayList или LinkedList. Ну а насчет неопределенного количества, думаю там должен быть какой-то стоп символ. Как-то так )
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Write numbers separate them by space: ");
double count = 0;
String numbers = reader.readLine();
List<Double> nums = Arrays.stream(numbers.split("\\s"))
.map(Double::parseDouble)
.collect(Collectors.toList());
for (Double num : nums) {
count += num;
}
System.out.println(count/nums.size());
Вот пример кода , не очень хороший но работает, при условии что после каждого элемента введен пробел . при ипользовании List, ArrayList необязательно задавать какое-то число можно просто добавить элементов сколько хочешь .
Вот хорошая статья надеюсь поможет.