Hallo.
Ich habe einige Probleme mit einem Programm, dass ich als Aufgabe für meine FH schreiben soll.
Im Prinzip handelt es sich um eine Art Administration, in der man Kunden und Angestellte einspeichert und verwaltet.
Nun funktioniert das ganze nicht so wirklich, da mir das Programm einerseits eine ClassCastException wirft, wenn ich einen Kunden mithilfe einer ID suchen möchte und andererseits es mir bei der Ausgabe aller Kunden/ Angestellten nur 'null' Werte liefert.
Hier die Klassen mit denen ich die Probleme habe (die Klassen Employee & Customer funktionieren, deshalb lasse ich sie lieber mal weg).
Ich wäre sehr verbunden, wenn mir jemand erklären könnte, wieso die ganze Sache nicht funktioniert wie sie soll und wie ich das beheben könnte.
Wie gesagt, die print() Methode, die in Zeile 22 der Mainklasse aufgerufen wird, liefert nur 'null' Werte und der Aufruf getCustomerByID(1) wirft mir eine ClassCastException.
Danke schonmal im Voraus für jede Hilfe.
Ich habe einige Probleme mit einem Programm, dass ich als Aufgabe für meine FH schreiben soll.
Im Prinzip handelt es sich um eine Art Administration, in der man Kunden und Angestellte einspeichert und verwaltet.
Nun funktioniert das ganze nicht so wirklich, da mir das Programm einerseits eine ClassCastException wirft, wenn ich einen Kunden mithilfe einer ID suchen möchte und andererseits es mir bei der Ausgabe aller Kunden/ Angestellten nur 'null' Werte liefert.
Hier die Klassen mit denen ich die Probleme habe (die Klassen Employee & Customer funktionieren, deshalb lasse ich sie lieber mal weg).
Ich wäre sehr verbunden, wenn mir jemand erklären könnte, wieso die ganze Sache nicht funktioniert wie sie soll und wie ich das beheben könnte.
Wie gesagt, die print() Methode, die in Zeile 22 der Mainklasse aufgerufen wird, liefert nur 'null' Werte und der Aufruf getCustomerByID(1) wirft mir eine ClassCastException.
Danke schonmal im Voraus für jede Hilfe.
Java:
public class PersonList {
Person[] person = new Person[20];
int nextPersonIndex = 0;
Person getByID(final int id){
return person[id];
}
Person[] getArray(){
return person;
}
void add(final Person c){
person[nextPersonIndex] = c;
nextPersonIndex++;
}
void print(){
for(int i = 0; i < person.length; i++)
System.out.println(person[i]);
}
boolean contains(final Person p){
boolean c = false;
for(int i = 0; i < person.length; i++){
if (person[i] == p)
c = true;
}
return c;
}
}
Java:
public class Administration extends PersonList {
PersonList customers = new PersonList();
PersonList employees = new PersonList();
void add(final Employee c){
customers.person[customers.nextPersonIndex] = c;
customers.nextPersonIndex++;
}
void add(final Customer c){
employees.person[employees.nextPersonIndex] = c;
employees.nextPersonIndex++;
}
Customer getCustomerByID(final int id){
return (Customer) customers.getByID(id);
}
Employee getEmployeeByID(final int id){
return (Employee) employees.getByID(id);
}
void printCustomers(){
customers.print();
}
void printEmployees(){
employees.print();
}
boolean contains(final Person p){
boolean c = false;
if (employees.contains(p) || customers.contains(p))
c = true;
return c;
}
}
Java:
public class Main{
public static void main(String[] args) {
Customer cust1 = new Customer("Asterix", "Kleines Dorf", "01.02.0120", Rating.A);
Customer cust2 = new Customer("Obelix", "Kleines Dorf", "09.09.0099", Rating.B);
Customer cust3 = new Customer("Cäsar", "Rom", "30.06.0100", Rating.C);
Employee emp1 = new Employee("Verleihnix", "Kleines Dorf", "02.05.0089", 700);
Employee emp2 = new Employee("Trubadix", "Kleines Dorf", "23.03.0078", 100);
Employee emp3 = new Employee("Kleopatra", "Alexandria", "12.08.0130", 9001);
Administration myAdmin = new Administration();
myAdmin.add(cust1);
myAdmin.add(cust2);
myAdmin.add(cust3);
myAdmin.add(emp1);
myAdmin.add(emp2);
myAdmin.add(emp3);
myAdmin.print();
myAdmin.getCustomerByID(1);
myAdmin.getCustomerByID(1).setName("Idefix");
myAdmin.getCustomerByID(1).setAdress("Großes Dorf");
myAdmin.getCustomerByID(1).setRating(Rating.B);
myAdmin.getCustomerByID(1);
Customer cust4 = new Customer("Miraculix", "Kleines Dorf", "01.01.0000", Rating.A);
myAdmin.contains(cust4);
myAdmin.add(cust4);
myAdmin.contains(cust4);
}
}