kunner
Legacy Member
[Java] package practicum16; import java.util.*; public class Klanten11 { /** * - Pastebin.com (overzichtelijker door de highlighting)
of voor de liefhebber
De bedoel is dus een soort van klantendatabase met 3 soorten klanten. De naam van de klanten en een Arraylist van de aankoopbedragen wordt bijgehouden.
De 3 soorten:
Klant --> nix speciaal aan
groothandelaar --> standaard 10 procent korting tenzij anders opgegeven
detailklant --> random toegewezen 1 aankoop gratis
Het probleem ligt hem nu in hoe ik de total aankoopsom kan opvragen ben nog niet echt vertrouwd met super en overerving.
Als ik de klant gwn uitprint krijg ik als aankoopbedrag 0.0.
Als ik echter enkel de klant.totaal uitprint krijg ik wel het juiste bedrag
ad:
Iemand die mij kan helpen?
of voor de liefhebber
Code:
package practicum16;
import java.util.*;
public class Klanten11 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
klanten koen = new klanten ("Koen");
Koen.aankoop(7);
Koen.aankoop(49);
Koen.aankoop(2);
Koen.aankoop(19);
detailklant hennie = new detailklant("hennie");
hennie.aankoop(25);
hennie.aankoop(16);
hennie.aankoop(14);
groothandelaar bart = new groothandelaar("bart");
bart.aankoop(15);
bart.aankoop(23);
bart.aankoop(17);
groothandelaar sint = new groothandelaar ("sint",0.3);
sint.aankoop(14);
sint.aankoop(56);
sint.aankoop(46);
System.out.println(moustapha);
System.out.println(moustapha.totaal());
System.out.println(bart);
System.out.println(hennie);
System.out.println(hennie.totaal);
System.out.println(sint);
}
}
class klanten{
protected String naam;
protected ArrayList <Integer> bedragen=new ArrayList<Integer>();
protected double totaal=0;
public klanten (String n){
naam=n;
}
public void aankoop(int bedrag){
bedragen.add(bedrag);
}
public double totaal(){
for(int i=0;i<bedragen.size();i++){
this.totaal+=bedragen.get(i);
} return totaal;
}
public String toString(){
return "De naam is " + this.naam + " het totale aankoopbedrag is " + this.totaal;
}
}
class groothandelaar extends klanten {
protected double korting;
public groothandelaar(String n){
super(n);
korting =0.1;
}
public groothandelaar(String n,double kort){
super(n);
korting =kort;
}
public double totaal(){
return (super.totaal()-(korting*super.totaal()));
}
}
class detailklant extends klanten{
public detailklant(String n){
super(n);
}
public double totaal(){
int z= (int) Math.random()*bedragen.size();
bedragen.remove(z);
return super.totaal();
}
public void aankoop(int bedrag){
super.aankoop(bedrag);
}
}
De bedoel is dus een soort van klantendatabase met 3 soorten klanten. De naam van de klanten en een Arraylist van de aankoopbedragen wordt bijgehouden.
De 3 soorten:
Klant --> nix speciaal aan
groothandelaar --> standaard 10 procent korting tenzij anders opgegeven
detailklant --> random toegewezen 1 aankoop gratis
Het probleem ligt hem nu in hoe ik de total aankoopsom kan opvragen ben nog niet echt vertrouwd met super en overerving.
Als ik de klant gwn uitprint krijg ik als aankoopbedrag 0.0.
Als ik echter enkel de klant.totaal uitprint krijg ik wel het juiste bedrag
ad:Iemand die mij kan helpen?