All pastes #916478 Raw Edit

Someone

public text v1 · immutable
#916478 ·published 2008-02-24 18:15 UTC
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;
	}
}