Правила[Одномерные массивы]49. Напишите программу, входными данными которой является возраст n человек. Программа подсчитывает количество людей, возраст которых находится в интервале 10 лет, а именно: <..> человек имеет возраст в диапазоне 0 – 10 лет; <..> человек имеет возраст в диапазоне 10 – 20 лет и т.д.
/**
* Подсчет количества людей , возраст которых находится
* в интервале 10 лет.
* @param ages массив возрастов.
* @return массив, индекс которого определяет диапазон
* возрастов 0 - [0-9], 1 - [10-19] и т.д., а
* значения - количество людей, возраст кото-
* рых попадает в этот диапазон.
*/
public static int[] grouppingAges(int[] ages) {
// Исходя из условий задачи входными данными
// является возраст. Максимальный возраст
// человека по данным статистики сейчас 122 года.
// С небольшим запасом берем долгожителей до 150 лет.
int[] periods = new int[15];
if ((ages == null) || (ages.length == 0))
return null;
for (int age : ages) {
periods[age / 10]++;
}
return periods;
}
Шли по одному пути :-)
Только если выводить результат на экран, я бы добавил проверку количества на 0, чтобы не выводить нулевые результаты. Хотя это мое личное мнение, а авторы задачи может быть хотели видеть все диапазоны.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Долгожители
;-)
А кто сказал что они живы?
Только если выводить результат на экран, я бы добавил проверку количества на 0, чтобы не выводить нулевые результаты. Хотя это мое личное мнение, а авторы задачи может быть хотели видеть все диапазоны.
Проверка на 0 во втором цикле.