class Student {
String name;
String matrikelnummer; // Matrikelnummern z.B. 0123456700, sind keine
// Zahlen!
int studiengang; // Studiengang als Zahl codiert
int[] punkteDerTestate = new int[3];
// hatten wir schon case?
// falls nicht:
String[] studiengaenge = {
"Angewandte Informatik / SE",
"Wirtschaftsinformatik",
"ME",
"Lehramt",
"Mathematik",
"Magister",
"Sonst. / Unbekannt" };
boolean setzeStudiengang(int studiengang) {
boolean studiengangOk = true;
if (studiengang < 1 || studiengang > 7) {
studiengangOk = false;
System.err.println("Unbekannter Studiengang " + studiengang);
studiengang = 7;
}
this.studiengang = studiengang;
return studiengangOk;
}
void setzeTestatpunkte(int testat, int punkte) {
// Bereichsueberpruefung sinnvoll, war aber nicht verlangt
punkteDerTestate[testat-1] = punkte; // Testate werden ab 1 gezaehlt
}
int summe() {
int punktsumme = 0;
for (int i = 0; i < punkteDerTestate.length; i++)
punktsumme += punkteDerTestate[i];
return punktsumme;
}
void ausgabe() {
System.out.println("Student: " + name + "\nMatrikelnummer: "
+ matrikelnummer + "\nStudiengang: " +
studiengaenge[studiengang - 1] // Studiengang wird ab 1 gefuehrt
+ "\nPunkte in den Testaten:");
for (int i = 0; i < punkteDerTestate.length; i++)
System.out.println(Integer.toString(punkteDerTestate[i]) +
" Punkte im " + (i+1) + ". Testat");
System.out.println();
}
public static void main(String[] args) {
Student[] studi = new Student[3];
studi[0] = new Student();
studi[1] = new Student();
studi[2] = new Student();
studi[0].name = "King Kong";
studi[1].name = "Lisa Simpson";
studi[2].name = "Victor Frankenstein (Seniorstudent)";
studi[0].matrikelnummer = "0123456700";
studi[1].matrikelnummer = "0456789102";
studi[2].matrikelnummer = "0000006700";
studi[0].setzeStudiengang(4);
studi[1].setzeStudiengang(3);
studi[2].setzeStudiengang(28); // ob der Test auf
// Bereichsueberschreitung funktioniert?
int[][] punkte = {
{0, 1, 2},
{3, 3, 3},
{1, 3, 2} };
for (int i = 0; i < punkte.length; i++)
for (int j = 0; j < punkte[0].length; j++)
studi[i].setzeTestatpunkte(j + 1, punkte[i][j]);
float gesamt = 0.0f;
for (int i = 0; i < studi.length; i++) {
studi[i].ausgabe();
float schnitt = studi[i].summe() / 3.0f;
System.out.println("Schnitt: " + schnitt + "\n");
gesamt += schnitt;
}
System.out.println("\nSchnitt gesamt: " + (gesamt / studi.length) + "\n");
}
}