Skip to content

Instantly share code, notes, and snippets.

@LadyNamedLaura
Created August 29, 2011 16:11
Show Gist options
  • Save LadyNamedLaura/1178733 to your computer and use it in GitHub Desktop.
Save LadyNamedLaura/1178733 to your computer and use it in GitHub Desktop.
Beurs
# Compiled source #
###################
*.class
# OS generated files #
######################
.DS_Store?
ehthumbs.db
Icon?
Thumbs.db
public class AandeelEigendom {
private int aantal;
public BeursAandelen aandeel;
public BeursSpeler eigenaar;
public AandeelEigendom (BeursAandelen aandeel, BeursSpeler eigenaar)
{
this.aandeel=aandeel;
this.eigenaar=eigenaar;
aandeel.addAandeelEigendom(this);
eigenaar.addAandeelEigendom(this);
}
public boolean koop (Double geld, int aantal)
{
if(geld< (aandeel.geefKoers()*aantal) ) //not enough money
return false;
geld -= aandeel.geefKoers()*aantal;
this.aantal+=aantal;
return true;
}
public boolean failiet()
{
if(aandeel.geefKoers()!=(double)-1)
return false;
aantal=0;
return true;
}
}
import java.io.*;
import java.util.ArrayList;
public class BeursAandelen
{
private double koers;
private String naam;
private static int aantalAandelen;
private double sterkte; // de sterkte van een aandeel-> hoe sterk stijgt/daalt het, en of het op termijn stijgt of daalt(0 = sterk, 10 = zwak)
private double maximum;
private double minimum;
private static double klein =1;
private ArrayList<AandeelEigendom> eigendom;
public void addAandeelEigendom(AandeelEigendom aandeel)
{
eigendom.add(aandeel);
}
public BeursAandelen(double beginKoers, String beginNaam, double beginsterkte){ //beginkoers = default 100, beginstekrte = default 5
aantalAandelen++;
koers=beginKoers;
naam = beginNaam;
sterkte = beginsterkte;
maximum = beginKoers;
minimum = beginKoers;
}
public BeursAandelen(String beginnaam){
this(100.0,beginnaam,5);
}
public double geefKoers(){
return koers;
}
public String geefNaam(){
return naam;
}
public static int geefAantalaandelen(){
return aantalAandelen;
}
public void printAandeel(){
System.out.print("" + naam + "\t");
System.out.print("" + koers + "\n");
}
public void koerswijziging() throws IOException{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader in = new BufferedReader(isr);
koers =koers * (((Math.random()/1000) + 0.999501) + sterkte/10000000);
if (koers < klein) {
koers = -1;
System.out.println("aandeel " + naam + " is failliet");
in.readLine();
}
}
public void geefMaxMin(){
System.out.println(maximum);
System.out.println(minimum);
}
public boolean failliet()
{
for(AandeelEigendom i:eigendom)
if(!i.failiet())
return false;
return true;
}
}
import java.util.ArrayList;
public class BeursSpeler {
private Double geld;
private ArrayList<AandeelEigendom> aandelen;
private String naam;
static int aantalSpelers;
static double beginbudget = 10000;
/**
* @param args
*/
public BeursSpeler(double budget, String naam){
aantalSpelers++;
geld = budget;
this.naam = naam;
}
public void addAandeelEigendom(AandeelEigendom aandeel)
{
aandelen.add(aandeel);
}
public boolean koop(BeursAandelen aandeel, int aantal)
{
AandeelEigendom eigendom=geefEigendom(aandeel);
if(eigendom==null) //eerste aankoop
eigendom = new AandeelEigendom(aandeel, this);
return eigendom.koop(this.geld, aantal);
}
public AandeelEigendom geefEigendom(BeursAandelen aandeel)
{
for(AandeelEigendom eigendom : aandelen)
if(eigendom.aandeel==aandeel)
return eigendom;
return null;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment