Hallo, JAVA-Leute!
Ich möchte eine Aufgabe erledigen, und nämlich:
Es sollen drei Klassen geschrieben werden - Student; Tutorium; Sekretariat.
• Die Klasse Student mit folgenden Attributen: name, matrikelnummer.
• Einen Konstruktor public Student( String name, int matrikel ) für die Klasse Student mit
den entsprechenden Übergabeparametern zum Setzen der jeweiligen Attribute.
• Eine Methode public void ausgeben() in der Klasse Student. Gibt die Eigenschaften eines Stu-
dents auf dem Bildschirm aus.
Diese Klasse (Student) habe ich so gemacht (und denke, dass sie richtig ist):
• Die Klasse Tutorium mit den Attributen raumNr, tutor, fach, und teilnehmer (dies soll ein Array
von Studenten sein).
• Einen Konstruktor public Tutorium( int kapazitaet, int raumNr, String tutor, String
fach ). kapazitaet bezeichnet die maximale Anzahl der Studenten in einem Tutorium. Ein bei der
Erzeugung leeres Tutorium wird mit Null-Referenzen gefüllt solange keine Studenten aufgenommen
sind.
• Eine Methode public void ausgeben() in der Klasse Tutorium. Gibt die Eigenschaften eines
Tutoriums und eine Liste der teilnehmenden Studenten auf dem Bildschirm aus.
Hier habe ich schon Probleme mit dem Attribut teilnehmer, das ein Array sein soll. Und auch mit der Liste der teilnehmenden Studenten - habe keine Ahnung wie ich das elegant machen kann:
• Die Klasse Sekretariat, zur Verwaltung von Tutorien. Darin sind folgende Methoden zu implemen-
tieren:
1. public static boolean istVoll( Tutorium t ). Überprüft ob noch freie Plätze im Tutorium
t vorhanden sind.
2. public static boolean studentAufnehmen( Tutorium t, Student st ). Nimmt einen
übergebenen Student st in dem Tutorium t auf, falls das möglich ist. Die Methode soll
zurückgeben, ob die Aufnahme möglich war.
Diese Klassen sollen mit diesem Programm getestet werden:
Ich wäre sehr dankbar, wenn mir jemand erklärt, wie das alles aussehen soll - ich bin schon verzweifelt. Probiere schon 6 Stunden diese Aufgabe zu machen und habe noch gar keine Idee.
Ich möchte eine Aufgabe erledigen, und nämlich:
Es sollen drei Klassen geschrieben werden - Student; Tutorium; Sekretariat.
• Die Klasse Student mit folgenden Attributen: name, matrikelnummer.
• Einen Konstruktor public Student( String name, int matrikel ) für die Klasse Student mit
den entsprechenden Übergabeparametern zum Setzen der jeweiligen Attribute.
• Eine Methode public void ausgeben() in der Klasse Student. Gibt die Eigenschaften eines Stu-
dents auf dem Bildschirm aus.
Diese Klasse (Student) habe ich so gemacht (und denke, dass sie richtig ist):
Java:
public class Student{
String name;
int matrikelnummer;
public void ausgeben(){
Terminal.println(this.name+ " " +this.matrikelnummer);
}
public Student(String name, int matrikel){
this.name = name;
this.matrikelnummer = matrikel;
}
}
• Die Klasse Tutorium mit den Attributen raumNr, tutor, fach, und teilnehmer (dies soll ein Array
von Studenten sein).
• Einen Konstruktor public Tutorium( int kapazitaet, int raumNr, String tutor, String
fach ). kapazitaet bezeichnet die maximale Anzahl der Studenten in einem Tutorium. Ein bei der
Erzeugung leeres Tutorium wird mit Null-Referenzen gefüllt solange keine Studenten aufgenommen
sind.
• Eine Methode public void ausgeben() in der Klasse Tutorium. Gibt die Eigenschaften eines
Tutoriums und eine Liste der teilnehmenden Studenten auf dem Bildschirm aus.
Hier habe ich schon Probleme mit dem Attribut teilnehmer, das ein Array sein soll. Und auch mit der Liste der teilnehmenden Studenten - habe keine Ahnung wie ich das elegant machen kann:
Java:
public class Tutorium{
int kapazitaet;
int raumNr;
String tutor;
String fach;
Student[] teilnehmer;
/* Ich bin nicht sicher, ob das Attribut teilnehmer so richtig definiert ist*/
public void ausgeben(){
Terminal.println("Kapazität: "+this.kapazitaet+" RaumNummer: "+this.raumNr+" Tutor: "+this.tutor+" Fach: "+this.fach+");
Terminal.println(...wie kann ich alle Teilnehmer ausgeben?...);
}
public Tutorium(int kapazitaet, int raumNr, String tutor, String fach){
this.kapazitaet = kapazitaet;
this.raumNr = raumNr;
this.tutor = tutor;
this.fach = fach;
}
}
• Die Klasse Sekretariat, zur Verwaltung von Tutorien. Darin sind folgende Methoden zu implemen-
tieren:
1. public static boolean istVoll( Tutorium t ). Überprüft ob noch freie Plätze im Tutorium
t vorhanden sind.
2. public static boolean studentAufnehmen( Tutorium t, Student st ). Nimmt einen
übergebenen Student st in dem Tutorium t auf, falls das möglich ist. Die Methode soll
zurückgeben, ob die Aufnahme möglich war.
Java:
public class Sekretariat{
public static boolean istVoll( Tutorium t ){
if Tutorium.kapaziteat < ... Anzahl von Teilnehmer...{
return true;
}else{
return false;
}
}
public static boolean studentAufnehmen( Tutorium t, Student st ){
/* Hier habe ich schon keine Ahnung, wie ich weitergehen muss/*
Diese Klassen sollen mit diesem Programm getestet werden:
Java:
public class TutVerwaltung{
public static void main(String args[]){
Tutorium pprJ = new Tutorium( 30, 6057, "Mareike", "PPR Java" );
Tutorium pprX = new Tutorium( 2, 0000, "Snoop Dogg", "PPR Xclusive" );
Student lw = new Student( "Lil Wayne", 123456 );
Student br = new Student( "Busta Rhymes", 234567 );
Student ch = new Student( "Cypress Hill", 345678 );
Sekretariat.studentAufnehmen( pprX, lw );
Sekretariat.studentAufnehmen( pprX, br );
if ( !Sekretariat.istVoll( pprX ) ) Terminal.println( "Hier sollte PPR-Xclusive wirklich schon voll sein.");
if ( Sekretariat.studentAufnehmen( pprX, ch ) ) Terminal.println( "Cypress darf gar nicht rein! Bitte ändere deinen Code entsprechend.");
else {
Terminal.println( "Ich muss leider draußen bleiben: " );
ch.ausgeben();
}
char mehr = 'n';
while ( true ){
mehr = Terminal.askChar( "Was nun? [s]tudent in ppr aufnehmen / [t]eilnehmerliste für ppr Java anzeigen / Teilnehmerliste für ppr [x]clusive anzeigen / [b]eenden " );
if ( mehr == 's' ){
String name = Terminal.askString( "Wie heißt der Student? " );
int matr = Terminal.askInt( "Wie ist seine Matrikelnummer?" );
Student newStudent = new Student( name, matr );
if ( !Sekretariat.studentAufnehmen( pprJ, newStudent ) )
Terminal.println( "Leider ist das Tutorium voll." );
}
else if ( mehr == 't' ) pprJ.ausgeben();
else if ( mehr == 'x' ) pprX.ausgeben();
else break;
}
}
}
Ich wäre sehr dankbar, wenn mir jemand erklärt, wie das alles aussehen soll - ich bin schon verzweifelt. Probiere schon 6 Stunden diese Aufgabe zu machen und habe noch gar keine Idee.