Hallo,
ich hab ein Problem bei einer Studentenverwaltung, welche ich anfertigen muss.
Die Methodenköpfe sind vordefiniert. Was diese machen sollen, hab ich üer die Methoden geschrieben.
Da meine Main nicht funktioniert bzw. Methoden ich nicht aufrufen kann, muss ja noch Fehler enthalten sein.
Mit dem Thema Map bin ich acuh noch nicht so richtig vertraut.
Ich bitte um Hilfe.
ich hab ein Problem bei einer Studentenverwaltung, welche ich anfertigen muss.
Java:
public class Student {
public int maxStudId = 0;
private String nachname;
private String vorname;
private String gebdatum;
private int studId;
private boolean semGeb;
public Student (String nachname, String vorname, String gebdatum, int studId, boolean semGeb) {
this.nachname = nachname;
this.vorname = vorname;
this.gebdatum = gebdatum;
this.studId = studId;
this.semGeb = semGeb;
if(studId > maxStudId) {
maxStudId = studId;
}else if(studId < maxStudId){
maxStudId ++;
studId = maxStudId;
}
}
public boolean isSemGeb() {
return semGeb;
}
public void setSemGeb(boolean semGeb) {
this.semGeb = semGeb;
}
public int getMaxStudId() {
return maxStudId;
}
public String getNachname() {
return nachname;
}
public String getVorname() {
return vorname;
}
public String getGebdatum() {
return gebdatum;
}
public int getStudId() {
return studId;
}
}
Java:
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Studentenregister {
private Map<String, Object> studenten = new HashMap<String, Object>();
public Map<String, Object> getStudenten() {
return studenten;
}
public void setStudenten(Map<String, Object> studenten) {
this.studenten = studenten;
}
//Methode public void immatrikulieren(Student neuer), die überprüft, ob der Nachname des Studenten schon in der
//Hashtable vorhanden ist und bei Bedarf einen neuen Eintrag hinzufügt.
public void immatrikulieren(Student neuer) {
if (neuer.getNachname().equals(studenten)) {
System.out
.println("Student in Studentenregister bereits vorhanden.");
} else {
System.out
.println("Student noch nicht in Studentenregister vorhanden. Bitte tragen Sie den Student ein.");
studenten.put(neuer.getNachname(), neuer.getVorname());
}
}
//Die Methode public Student finde(String nachname, String vorname, String gebDatum) sucht einen Studenten
//in dem Studentenregister und liefert ihn zurück. Wenn die Suche erfolglos ist, wird null zurückgegeben
public Student finde(String nachname, String vorname, String gebdatum) {
for( String name: studenten.keySet() )
{
System.out.println(name + ": "+ studenten.get(nachname) + "" + studenten.get(vorname) + "" + studenten.get(gebdatum));
}
return null;
}
//Die Methode public List<Student> findeAlle(String nachname) sucht alle
//Studenten gleichen Namens in dem Studentenregister und liefert sie zurück. Wenn die Suche erfolglos ist, wird null zurückgegeben.
public List<Student> findeAlle(String nachname) {
if (studenten.equals(nachname)) {
return (List<Student>) studenten.get(nachname);
} else {
return null;
}
}
//Methode public void exmatrikulieren(Student stu), die überprüft, ob der
//Student schon in der Hashtable vorhanden ist und bei Bedarf diesen Eintrag löscht.
public void exmatrikulieren(Student stu) {
if(stu.equals(studenten)) {
System.out.println("Student wird aus Liste gelöscht");
studenten.remove(stu);
}else{
System.out.println("Student nicht in Liste vorhanden");
}
}
public static void main(String[] args) {
HashMap map = new HashMap();
Student s1 = new Student("Krauss", "Dieter", "20.3.1994", 342, true);
map.put(new String(s1.getNachname()), s1);
}
}
Die Methodenköpfe sind vordefiniert. Was diese machen sollen, hab ich üer die Methoden geschrieben.
Da meine Main nicht funktioniert bzw. Methoden ich nicht aufrufen kann, muss ja noch Fehler enthalten sein.
Mit dem Thema Map bin ich acuh noch nicht so richtig vertraut.
Ich bitte um Hilfe.