Hallo zusammen,
ich bräuchte mal eure Hilfe...
und zwar möchte ich mein Array, dass instanzen der Klasse Person sowie Firma verwaltet sortieren, allerdings nicht nach einem Parameter, sondern nach einer Methode ( calcSteuerschuld() ), die einen float zurückgibt, die bei beiden Klassen implementiert wurde.
Ich hoffe das ist halbwegs verständlich xD... hier nochmal ein paar Auszüge.
public class Person implements Cloneable, Versteuerbar {
protected String name;
protected int alter;
protected boolean verheiratet;
protected int jahreseinkommen;
public Person(String name, int alter, boolean verheiratet,
int jahreseinkommen) {
this.name = name;
this.alter = alter;
this.verheiratet = verheiratet;
this.jahreseinkommen = jahreseinkommen;
}
@Override
public float calcSteuerschuld() {
float schuld = 0.3f * jahreseinkommen;
return schuld;
}
}
------------------------------------------------------------------------------
public class Firma implements Versteuerbar, Cloneable {
protected String name;
protected int umsatz;
protected int gewinn;
public Firma(String name, int umsatz, int gewinn) {
this.name = name;
this.umsatz = umsatz;
this.gewinn = gewinn;
}
@Override
public float calcSteuerschuld() {
float schuld = 0.15f * gewinn;
return schuld;
}
------------------------------------------------------------------------------
public class Steuerdemo {
public static void main(String[] args) throws CloneNotSupportedException {
Object[] demo = new Object[5];
demo[0] = new Person("Ina", 20, false, 8200);
demo[1] = new Firma("Firma X GmbH", 20000000, 2000000);
demo[2] =((Firma) demo[1]).clone();
((Firma)demo[2]).setName("Firma Y GmbH");
((Firma)demo[2]).setGewinn(10000);
demo[3] = ((Person) demo[0]).clone();
((Person)demo[3]).setName("Fritz");
((Person)demo[3]).setVerheiratet(true);
((Person)demo[3]).setJahreseinkommen(7000);
demo[4] = new Person("Josef", 70, true, 9200);
Das Array demo[] soll jetzt nach der Methode calcSteuerschuld() sortiert werden.. ich habe leider gar keine Ahnung wie... Funktioniert das mit String.sort?
Bitte um eure Hilfe
Mit freundlichen Grüßen
ich bräuchte mal eure Hilfe...
und zwar möchte ich mein Array, dass instanzen der Klasse Person sowie Firma verwaltet sortieren, allerdings nicht nach einem Parameter, sondern nach einer Methode ( calcSteuerschuld() ), die einen float zurückgibt, die bei beiden Klassen implementiert wurde.
Ich hoffe das ist halbwegs verständlich xD... hier nochmal ein paar Auszüge.
public class Person implements Cloneable, Versteuerbar {
protected String name;
protected int alter;
protected boolean verheiratet;
protected int jahreseinkommen;
public Person(String name, int alter, boolean verheiratet,
int jahreseinkommen) {
this.name = name;
this.alter = alter;
this.verheiratet = verheiratet;
this.jahreseinkommen = jahreseinkommen;
}
@Override
public float calcSteuerschuld() {
float schuld = 0.3f * jahreseinkommen;
return schuld;
}
}
------------------------------------------------------------------------------
public class Firma implements Versteuerbar, Cloneable {
protected String name;
protected int umsatz;
protected int gewinn;
public Firma(String name, int umsatz, int gewinn) {
this.name = name;
this.umsatz = umsatz;
this.gewinn = gewinn;
}
@Override
public float calcSteuerschuld() {
float schuld = 0.15f * gewinn;
return schuld;
}
------------------------------------------------------------------------------
public class Steuerdemo {
public static void main(String[] args) throws CloneNotSupportedException {
Object[] demo = new Object[5];
demo[0] = new Person("Ina", 20, false, 8200);
demo[1] = new Firma("Firma X GmbH", 20000000, 2000000);
demo[2] =((Firma) demo[1]).clone();
((Firma)demo[2]).setName("Firma Y GmbH");
((Firma)demo[2]).setGewinn(10000);
demo[3] = ((Person) demo[0]).clone();
((Person)demo[3]).setName("Fritz");
((Person)demo[3]).setVerheiratet(true);
((Person)demo[3]).setJahreseinkommen(7000);
demo[4] = new Person("Josef", 70, true, 9200);
Das Array demo[] soll jetzt nach der Methode calcSteuerschuld() sortiert werden.. ich habe leider gar keine Ahnung wie... Funktioniert das mit String.sort?
Bitte um eure Hilfe
Mit freundlichen Grüßen