rendered paste body
import java.io.*;
public class Kortsystem
{
public static final int KLIPPEKORT = 0, DAGSKORT = 1, SESONGKORT = 2;
Wrapper første;
Wrapper w;
public Kortsystem()
{
første = new Wrapper(null);
}
/*public void utvidArray()
{
Kort[] hjelp = new Kort[kortArray.length + UTVIDELSE];
for(int i = 0; i < kortArray.length; i++)
hjelp[i] = kortArray[i];
kortArray = hjelp;
}*/
public void settInnKort(Kort ny)
{
w = new Wrapper(ny);
w.neste = første.neste;
w.forrige = første;
if(w.neste != null)
{
w.neste.forrige = w;
}
første.neste = w;
}
public void LagreFil() throws FileNotFoundException, IOException
{
File f = new File("D:\\workspace\\EksamenSkiheis\\FILER\\fil.txt");
FileOutputStream fos = new FileOutputStream(f);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(første.neste);
oos.close();
}
public void LesFil() throws FileNotFoundException, IOException, ClassNotFoundException
{
File f = new File("D:\\workspace\\EksamenSkiheis\\FILER\\fil.txt");
FileInputStream fis = new FileInputStream(f);
ObjectInputStream ois = new ObjectInputStream(fis);
første.neste = (Wrapper)ois.readObject();
ois.close();
}
/*
Alt.1:
public void settInnKort(Kort k)
{
for(int i = 0; i < kortArray.length; i++)
if(kortArray[i]==null)
{
kortArray[i] = k;
return;
}
utvidArray();
settInnKort(k); // rekursiv metode
}
Alt 2:
public void settInnKort(Kort k)
{
for(int i = 0; i < kortArray.length; i++)
if(kortArray[i]==null)
{
kortArray[i] = k;
return;
}
utvidArray();
for(int i = 0; i < kortArray.length; i++)
if(kortArray[i]==null)
{
kortArray[i] = k;
return;
}
}
*/
public Kort finnKort(int nr)
{
Wrapper løper = første;
while(løper != null)
{
if(løper.item != null) {
if(løper.item.getNr() != nr)
{
}else {
return løper.item;
}
}
løper = løper.neste;
}
return null;
}
public void fjernUgyldigeKort()
{
Wrapper løper = første;
while(løper != null)
{
if(løper.item != null && !løper.item.gyldig())
{
løper = løper.neste;
}else
{
løper.forrige.neste = løper.neste;
løper.neste.forrige = løper.forrige;
løper = null;
}
}
}
public String inntjeningsInfo()
{
int sum = Klippekort.getSum() + Dagskort.getSum() + Årskort.getSum();
return "Det er hittil i sensongen solgt kort for kr." + sum + ".-\n"
+ "Av disse er det solgt \n"
+ Klippekort.getAntallSolgte() + " klippekort for tilsammen kr. "
+ Klippekort.getSum()+ ".-\n"
+ Dagskort.getAntallSolgte() + " dagskort for tilsammen kr. "
+ Dagskort.getSum() + ".-\n"
+ Årskort.getAntallSolgte() + " sesongkort for tilsammen kr. "
+ Årskort.getSum() + ".-";
}
public boolean ladOppKort( int nr, int antKlipp )
{
Kort k = finnKort( nr );
if ( k instanceof Klippekort )
{
( (Klippekort) k).ladOpp( antKlipp );
return true;
}
else
return false;
}
}