Hallo Leute,
sorry das ich jetzt erst anworte. Menge zu tun gehabt für Uni.
Ich hatte schon etwas zusammen bekommen, was dem Dozenten aber nicht gefiel.
Hatte vier Datenbanken für die jeweiligen Person(Studenten, Professoren, Studentische Hilfskräfte, sonstige Mitarbeiter) geschrieben. Nun sollte ich aber eine Datenbank für alle zutreffende Personen schreiben. Bin jetzt soweit das ich eine Oberklasse Person geschrieben habe wo gewisse Daten immer gleich sind.
Unterklasse zu Person ist bei mir erstmal zur Student, andere Unterklassen folgenden später. Komme jetzt aber nicht weiter. Ich weiß nicht wie ich der Person die zusatzlichen Information vom Studenten zuordnen kann.
Hier mal mein Programm was ich bis jetzt geschrieben habe.
Main-Programm
[Java]
package SWT1;
import java.util.*;
public class Main
{
public static Scanner sc = new Scanner(System.in);
// Hauptprogramm
private static final String Begruessung_STR = "\nWillkommen. Welche Art von Datensatz möchten Sie eingeben:";
private static final String Wahl1_STR = "(1) Studierende";
private static final String Wahl2_STR = "(2) Studentische Hilfskraft";
private static final String Wahl3_STR = "(3) Professor";
private static final String Wahl4_STR = "(4) Sonstiger Mitarbeiter";
private static final String Wahl5_STR = "(5) Drucken";
private static final String Wahl6_STR = "(9) Datenbank beenden";
private static final String Begruessung1_STR = "\nWillkommen im Bereich für Studenten!\n";
private static final String Untermenue1_1_STR = "(1) Neuen Studenten anlegen:";
private static final String Untermenue1_2_STR = "(2) Hauptmenue:";
private static final String Nachn_STR = "Nachname:";
private static final String Vorn_STR = "Vorname:";
private static final String Mtn_STR = "Matrikelnummer:";
private static final String StG_STR = "Studiengang:";
private static final String Alt_STR = "Alter:";
private static final String Passw_STR = "Password:";
private static final String Rec_STR = "Rechte:";
private static final String Untermenue1_3_STR = "\n Ein neuer Student/in wurde in die Datenbank eingepflegt:";
private static final String Eingabe1_STR = "\nBitte wählen Sie:";
private static final String Fehleingabe_STR = "Flasche Eingabe!!!";
private static final Database DBank = new Database(10); // Größe der Datenbank
public static void main(String[] args)
{
DBank.addPerson("Der","Test","qas","admim"); // zur Probe zum drucken werden 4 Person erzeugt
DBank.addPerson("Der2","Test2","qas","admim");
DBank.addPerson("Hallo","Du","wie","admin");
DBank.addPerson("Hallo2","Du2","wie2","admin");
do
{
Hauptmenue();
int Auswahl = sc.nextInt();
switch(Auswahl)
{
case 1: Menue_Studenten();
break;
case 5: DBank.printPerson();
break;
case 9: return;
default: print_Fehler();
}
}while(true);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Beginn der Funktion_Methoden
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public static void Hauptmenue()
{
System.out.println(Begruessung_STR);
System.out.println(Wahl1_STR);
System.out.println(Wahl2_STR);
System.out.println(Wahl3_STR);
System.out.println(Wahl4_STR);
System.out.println(Wahl5_STR);
System.out.println(Wahl6_STR);
System.out.println(Eingabe1_STR);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public static void Menue_Studenten()
{
System.out.println(Begruessung1_STR);
System.out.println(Untermenue1_1_STR);
System.out.println(Untermenue1_2_STR);
int Auswahl = sc.nextInt();
switch(Auswahl)
{
case 1: Eingabe_Studenten();
break;
case 2:
break;
default: print_Fehler();
}
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public static void Eingabe_Studenten()
{
int a;
do
{
System.out.print(Nachn_STR);
String Nachname = sc.next();
System.out.print(Vorn_STR);
String Vorname = sc.next();
System.out.print(Passw_STR);
String Password = sc.next();
System.out.print(Rec_STR);
String Rechte = sc.next();
System.out.print(StG_STR);
String Studiengang = sc.next();
System.out.print(Alt_STR);
int Alter = sc.nextInt();
System.out.print(Mtn_STR);
int Matrikelnummer = sc.nextInt();
DBank.addPerson(Nachname,Vorname,Password,Rechte);
// myStudent.Student(Matrikelnummer,Studiengang,Alter);
System.out.println(Untermenue1_3_STR);
System.out.println(Vorname+" "+Nachname+","+Passw_STR+"****"+Rec_STR+Rechte);
System.out.println("Weiteren Student anlegen? (1)");
a = sc.nextInt();
}while(a == 1);
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public static void print_Fehler()
{
System.out.println (Fehleingabe_STR);
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}
[/Java]
class-Person
[Java]
package SWT1;
public class Person
{
private String Nachname,Vorname,Password,Rechte;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public Person(String Nachname,String Vorname,String Password,String Rechte)
{
this.Nachname = Nachname;
this.Vorname = Vorname;
this.Password = Password;
this.Rechte = Rechte;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public void printPerson()
{
System.out.println("\n | Nachname: " + Nachname +
"\n | Vorname: " + Vorname +
"\n | Password: " + Password +
"\n | Rechte: " + Rechte );
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
[/Java]
class-Student
[Java]
package SWT1;
public class Student extends Person
{
private String Studiengang;
private int Matrikelnummer,Alter;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public Student(String Nachname,String Vorname,String Password,String Rechte,int Matrikelnummer,String Studiengang,int Alter)
{
super(Nachname,Vorname,Password,Rechte);
this.Matrikelnummer = Matrikelnummer;
this.Studiengang = Studiengang;
this.Alter = Alter;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public void printStudent()
{
System.out.println("\n | Matrikelnummer: " + Matrikelnummer +
"\n | Studiengang: " + Studiengang +
"\n | Alter: " + Alter );
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}
[/Java]
class-Database
[Java]
package SWT1;
public class Database
{
private final Person[] Persons;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public Database(int size)
{
Persons = new Person[size];
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public void printPerson() // Gibt alle Personen auf der Konsole aus
{
for (Person s : Persons) // Felder im Array, die keinen Eintrag haben, werden ignoriert.
{
if (s != null)
{
s.printPerson();
}
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
* Wenn noch Platz in der Datenbank ist, wird eine neue Person erzeugt und
* in die Datenbank eingefügt. Wenn die DB voll ist, wird eine Fehlermeldung ausgegeben.*/
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public void addPerson(String Nachname,String Vorname,String Password,String Rechte)
{
int firstFreeIndex = -1; // Im Array wird das erste freie Feld gesucht
for (int i = 0; i < Persons.length; i++)
{
if (Persons == null) // Gefunden!
{
firstFreeIndex = i;
break;
}
}
if (firstFreeIndex == -1) // Wenn firstFreeIndex immer noch -1 ist, wurde kein freies Feld gefunden -> Datenbank ist voll!
{
System.out.println("Datenbank voll!");
}
else
{
Persons[firstFreeIndex] = new Person(Nachname,Vorname,Password,Rechte); // Ansonsten genau an dieser Stelle eine neue Studierende einfügen.
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
[/Java]