Files

49 lines
1.4 KiB
Java

// "Fix all 'Stream API call chain can be replaced with loop' problems in file" "true"
import java.util.OptionalDouble;
import java.util.stream.*;
public class Main {
private static OptionalDouble testDouble(long... numbers) {
double sum = 0;
long count = 0;
for (long x : numbers) {
if (x > 0) {
double v = x;
sum += v;
count++;
}
}
return count > 0 ? OptionalDouble.of(sum / count) : OptionalDouble.empty();
}
private static OptionalDouble testInt(int... numbers) {
long sum = 0;
long count = 0;
for (int x : numbers) {
if (x > 0) {
sum += x;
count++;
}
}
return count > 0 ? OptionalDouble.of((double) sum / count) : OptionalDouble.empty();
}
private static OptionalDouble testLong(long... numbers) {
long sum = 0;
long count = 0;
for (long x : numbers) {
if (x > 0) {
sum += x;
count++;
}
}
return count > 0 ? OptionalDouble.of((double) sum / count) : OptionalDouble.empty();
}
public static void main(String[] args) {
System.out.println(testDouble(-1,-2,-3, Long.MAX_VALUE, Long.MAX_VALUE));
System.out.println(testInt(-1,-2,-3));
System.out.println(testLong(-1,-2,-3, Long.MAX_VALUE, Long.MAX_VALUE));
}
}