Правила[Одномерные массивы]9. Дан массив действительных чисел, размерность которого N. Подсчитать, сколько в нем отрицательных, положительных и нулевых элементов.
Моя версия с использованием Java 8 Stream API. Сходу сделать многопоточной не получилось.
public class Kitchen9 {
public static class ArrayStatistics implements IntConsumer {
public int positives;
public int zeroes;
public int negatives;
public ArrayStatistics() {
}
@Override
public void accept(int value) {
if (value > 0) {
positives++;
} else if (value < 0) {
negatives++;
} else {
zeroes++;
}
}
public void combine(ArrayStatistics other) {
positives += other.positives;
zeroes += other.zeroes;
negatives += other.negatives;
}
}
public static ArrayStatistics calculateArrayStatistics(int[] arr) {
return Arrays.stream(arr).collect(ArrayStatistics::new, ArrayStatistics::accept, ArrayStatistics::combine);
}
}
public static class ResultData
{
int lenNegative=0;
int lenPositive=0;
int lenZeros=0;
}
public static ResultData getLength(double... values)
{
ResultData res=new ResultData();
int N=values.length;
for(int i = 0; i < N; i++)
{
if (values[i]==0)
res.lenZeros++;
else if(values[i]>0)
res.lenPositive++;
else
res.lenNegative++;
}
return res;
}
Этот веб-сайт использует данные cookie, чтобы настроить персонально под вас работу сервиса. Используя веб-сайт, вы даете согласие на применение данных cookie. Больше подробностей — в нашем Пользовательском соглашении.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ