/* package whatever; // don't place package name! */
import java.util.*;
import java.util.stream.Stream;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
Person[] people = new Person[100];
for (int i = 0; i < people.length; i++) {
Person p = new Person();
people[i] = p;
// Sex
p.setSex(rand.nextBoolean() ? "Male" : "Female");
// p.setSex(i % 2 == 0 ? "Male" : "Female");
// Age (normal distribution with min 0, max 100, and mean 50
int age = (int)(rand.nextGaussian() * 50);
while (Math.
abs(age
) > 50) age = (int)(rand.nextGaussian() * 50);
p.setAge(age + 50);
// Religion
int maxA = (int) (people.length * .1),
maxB = (int) (people.length * .5) + maxA;
if (i < maxA)
p.setReligion("A");
else if (i < maxB)
p.setReligion("B");
else
p.setReligion("C");
}
long numMale = Stream.of(people).filter(p -> p.sex.equals("Male")).count();
int minAge = Stream.of(people).mapToInt(p -> p.age).min().orElse(0);
double avgAge = Stream.of(people).mapToInt(p -> p.age).average().orElse(0);
int maxAge = Stream.of(people).mapToInt(p -> p.age).max().orElse(0);
long numA = Stream.of(people).filter(p -> p.religion.equals("A")).count();
long numB = Stream.of(people).filter(p -> p.religion.equals("B")).count();
long numC = Stream.of(people).filter(p -> p.religion.equals("C")).count();
System.
out.
println(people.
length + " people"); System.
out.
println("Num Male: " + numMale
); System.
out.
println("Min Age: " + minAge
); System.
out.
println("Avg Age: " + avgAge
); System.
out.
println("Max Age: " + maxAge
); System.
out.
println("Religion A: " + numA
); System.
out.
println("Religion B: " + numB
); System.
out.
println("Religion C: " + numC
); }
}
class Person {
int age; public void setAge(int a){age = a;}
String religion
; public void setReligion
(String r
){religion
= r
;} public String toString
() { return sex
+ age
+ religion
; } }