Java:
public abstract class Konto {
String kontobezeichnung;
int kontostand;
public Konto(String kontobezeichnung, int kontostand){
this.kontobezeichnung = kontobezeichnung;
this.kontostand = kontostand;
}
abstract String getKontobezeichnung();
abstract int getKontostand();
}
public class Girokonto extends Konto{
int dispokredit;
public Girokonto(String kontobezeichnung, int kontostand, int dispokredit){
super(kontobezeichnung,kontostand);
this.dispokredit = dispokredit;
}
public int getKontostand(){
return kontostand;
}
public String getKontobezeichnung(){
return kontobezeichnung;
}
}
import java.util.*;
public class GiroKontoSortierer implements Comparator<Girokonto> {
public int compare(Girokonto g1, Girokonto g2){
if(g1.getKontostand() == g2.getKontostand()){
return 0;
}
if(g1.getKontostand() > g2.getKontostand()){
return 1;
}
if(g1.getKontostand() < g2.getKontostand()){
return -1;
}
return (g1.getKontostand()+ g2.getKontostand());
}
}
import java.util.*;
public class Kontoverwaltung {
ArrayList<Girokonto> a;
public Kontoverwaltung(){
a = new ArrayList<Girokonto>();
}
public static void main(String[] args) {
new Kontoverwaltung().test();
}
public void test(){
a.add(new Girokonto("Sparkassenkonto deluxe",2000,2000));
a.add(new Girokonto("Dresdener Bank small", 5000,10000));
a.add(new Girokonto("Volksbank middle", 2000,4000));
ausgabe();
}
public void ausgabe(){
Iterator it = a.iterator();
while(it.hasNext()){
System.out.println(it.next());
Collections.sort(a,new GiroKontoSortierer());
}
}
}
im endeffekt hab ich 2 fragen:
1.wie veränder ich die methode ausgabe(),damit mir der inhalt des girokonto-objektes richtig angezeigt wird?
2. kann eine generische liste nicht mehr als 1 Argument aufnehmen? z.b wenn ein eine Klasse Kunde geben würde:
Java:
ArrayList<Girokonto,Kunde> a;
?
Zuletzt bearbeitet: