fork(1) download
/* package whatever; // don't place package name! */

public class Main {
    public static void main(String[] args) {
        Icecream[] icecreams = new Icecream[4];

        icecreams[0] = new Icecream("Ванильное", false, 5);
        icecreams[1] = new Icecream("Шоколадное", true, 10);
        icecreams[2] = new Icecream("Фруктовое", false, 3);
        icecreams[3] = new Icecream(icecreams[0]);

        for (Icecream icecream : icecreams) {
            icecream.print();
        }

        System.out.println("Средний процент жирности: " + Icecream.averageFatContent(icecreams));
        System.out.println("Количество мороженых с шоколадом: " + Icecream.countChocolateIcecream(icecreams));
    }
}

class Icecream {
    private String name;
    private boolean hasChocolate;
    private int fatContent; // процент жирности

    public Icecream() {
        this("", false, 0);
    }

    public Icecream(String name, boolean hasChocolate, int fatContent) {
        this.name = name;
        this.hasChocolate = hasChocolate;
        this.fatContent = fatContent;
    }

    public Icecream(Icecream icecream) {
        this.name = icecream.name;
        this.hasChocolate = icecream.hasChocolate;
        this.fatContent = icecream.fatContent;
    }

    public String getName() {
        return name;
    }

    public boolean hasChocolate() {
        return hasChocolate;
    }

    public int getFatContent() {
        return fatContent;
    }

    public static double averageFatContent(Icecream[] icecreams) {
        int totalFatContent = 0;
        int count = 0;
        for (Icecream icecream : icecreams) {
            totalFatContent += icecream.getFatContent();
            count++;
        }
        return (double) totalFatContent / count;
    }

    public static int countChocolateIcecream(Icecream[] icecreams) {
        int count = 0;
        for (Icecream icecream : icecreams) {
            if (icecream.hasChocolate()) {
                count++;
            }
        }
        return count;
    }

    public void print() {
        System.out.println("Название: " + name);
        if (hasChocolate) {
            System.out.println("Содержит шоколад.");
        } else {
            System.out.println("Не содержит шоколад.");
        }
        System.out.println("Процент жирности: " + fatContent);
        System.out.println();
    }
}
Success #stdin #stdout 0.18s 57272KB
stdin
Standard input is empty
stdout
Название: Ванильное
Не содержит шоколад.
Процент жирности: 5

Название: Шоколадное
Содержит шоколад.
Процент жирности: 10

Название: Фруктовое
Не содержит шоколад.
Процент жирности: 3

Название: Ванильное
Не содержит шоколад.
Процент жирности: 5

Средний процент жирности: 5.75
Количество мороженых с шоколадом: 1