import java.util.Scanner;

public class Notenverwaltung
{
    private double[][][] noten;          // noten[klasse][schueler][note]
    private int[] schuelerAnzahl;        // schuelerAnzahl[klasse]
    private int[][] notenAnzahl;         // notenAnzahl[klasse][schueler]
    
    public Notenverwaltung()
    {
        noten = new double[10][30][20];       // maximal 10 Klassen, 30 Schüler, 20 Noten pro Schüler
        schuelerAnzahl = new int[10];         // tatsächliche Schüleranzahl pro Klasse
        notenAnzahl = new int[10][30];        // tatsächliche Notenzahl pro Schüler
    }

    public void eingabeStarten()
    {
        Scanner scanner = new Scanner(System.in);
        int k = 0; // Klassenindex

        while (true)
        {
            System.out.print("Klasse " + (k + 1) + " eingeben? (ja/fertig): ");
            String eingabe = scanner.nextLine();

            if (eingabe.equals("fertig"))
            {
                break;
            }

            int s = 0; // Schülerindex in der Klasse

            while (true)
            {
                System.out.print("  Schüler " + (s + 1) + " eingeben? (ja/fertig): ");
                eingabe = scanner.nextLine();

                if (eingabe.equals("fertig"))
                {
                    break;
                }

                int n = 0; // Notenindex für Schüler

                while (true)
                {
                    System.out.print("    Note " + (n + 1) + " eingeben? (Zahl/fertig): ");
                    eingabe = scanner.nextLine();

                    if (eingabe.equals("fertig"))
                    {
                        break;
                    }

                    try
                    {
                        double note = Double.parseDouble(eingabe);
                        noten[k][s][n] = note;
                        n++;
                    }
                    catch (NumberFormatException e)
                    {
                        System.out.println("    Ungültige Eingabe. Bitte Zahl oder 'fertig' eingeben.");
                    }
                }

                notenAnzahl[k][s] = n;
                s++;
            }

            schuelerAnzahl[k] = s;
            k++;
        }

        ausgabe();
    }

    private void ausgabe()
    {
        System.out.println("\nEingegebene Noten:");
        for (int i = 0; i < schuelerAnzahl.length; i++)
        {
            if (schuelerAnzahl[i] == 0)
            {
                break;
            }

            System.out.println("Klasse " + (i + 1) + ":");
            for (int j = 0; j < schuelerAnzahl[i]; j++)
            {
                System.out.print("  Schüler " + (j + 1) + ": ");
                for (int m = 0; m < notenAnzahl[i][j]; m++)
                {
                    System.out.print(noten[i][j][m] + " ");
                }
                System.out.println();
            }
        }
    }
}