All pastes #420126 Raw Edit

Untitled

public java v1 · immutable
·published 2007-04-01 21:56 UTC
rendered paste body
package no.uib.ii.inf101.v07.oblig2.gruppe12.programmet;import no.uib.ii.inf101.basis.IBasis;public class Ord implements IBasis<Ord> {		String ordet, tallkode="";	int frekvens = 0;	int antallGangerBrukt = 0;		public Ord (String ord) {		this.ordet = ord;		ordet = ordet.toLowerCase();				this.frekvens = 1;		tallkode = lagTallkode();				datainvariant();	}		/**	 * Returnerer ordet til klassen.	 * @return	 */	public String ord() {		return ordet;	}		/**	 * Returnerer tallkoden til klassen, som en string.	 * @return	 */	public String tallkode() {		return tallkode;	}		/**	 * Returnerer frekvensen til ordet i datasettet.	 * @return	 */	public int frekvens() {		return frekvens;	}		/**	 * Returnerer antall ganger ordet er brukt av en bruker.	 * @return	 */	public int antallGangerBrukt() {		return antallGangerBrukt;	}		/**	 * Lager en tallkode til ordet.	 * @return	 */	private String lagTallkode() {				Bokstaver bokstaver = new Bokstaver();		String tallkoden = "";				int[] temp = new int[ordet.length()];		for (int i = 0; i < ordet.length(); i++) {			temp[i] = bokstaver.giIntVerdi(ordet.toCharArray()[i]);		}		for (int i = 0; i < ordet.length(); i++) {			tallkoden += temp[i];		}		return tallkoden;			}	/**	 * compareTo for Ord klassen.	 * Naar 1 blir returnert, stiller orginalobjektet sterkere enn objektet	 * det blir sammenlignet med.	 */	public int compareTo(Ord obj) {				// Sammenligner paa tallkoden. Laveste tallet faar prioritet.		//System.out.println("Begynner tallkode sammenligning");		if (tallkode.compareTo(obj.tallkode) < 0) return 1;		if (tallkode.compareTo(obj.tallkode) > 0) return -1;				// Sammenligner paa frekvensen. Laveste h&#65533;yeste tallet faar prioritet.		//System.out.println("Begynner frekvens sammenligning");		if (frekvens > obj.frekvens) return 1;		if (frekvens < obj.frekvens) return -1;				// Sammenligner alfabetisk paa ordet.		//System.out.println("Begynner alfabetisk sammenligning");		if (ordet.compareTo(obj.ordet) < 0) return 1;		if (ordet.compareTo(obj.ordet) > 0) return -1;		return 0;	}	/**	 * Datainvarianten til Ord klassen.	 * Sjekker konsistensen til variablene i klassen.	 */	public boolean datainvariant() {		assert frekvens >= 0;		assert antallGangerBrukt >= 0;		assert ordet.equals(null) == false;		assert tallkode.equals(null) == false;				return true;	}	public Object clone() throws CloneNotSupportedException {		Object obj = new Object();		return obj;	}		/** 	 * Ny equals metode til Ord klassen.	 * ...	 */	public boolean equals(Object obj) {				if (this == obj) return true;		if (obj == null) return false;		if (getClass() != obj.getClass()) return false;				final Ord other = (Ord) obj;		if (ordet.equals(other.ordet) == false) return false;		if (tallkode.equals(other.tallkode) == false) return false;		if ((frekvens == other.frekvens) == false) return false;		if ((antallGangerBrukt == other.antallGangerBrukt)==false) return false;				return true;	}		public int hashCode() {		return 0;	}		/**	 * toString metode for Ord klassen, returnerer ordet, tallkoden,	 * frekvensen og ant. ganger brukt av bruker.	 */	public String toString() {		return "Ordet: " +ordet+" Tallkode: " +tallkode+" Frekvens: " +				frekvens+" Ant. ganger brukt: " +antallGangerBrukt;	}	}