⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pkw.java

📁 二手车管理软件
💻 JAVA
字号:
/** Programmname : Pkw <br>Klasse : <b> Pkw </b>@autor Li,Haibin   Hou,Yujing   Zhang,Xiangpeng@version 1.0 / 15.12.2006*/import java.io.*;import java.util.*;import java.text.DateFormat;import java.lang.Integer;import java.lang.String;public class Pkw extends Object implements Comparable, Cloneable {	/** Objekt-Attribute */	private int identnummer; // Identifikationsnummer > 0	private String typ; // Typ des Pkw	private String hersteller; // Name des Herstellers	private String farbe; // Farbe des Pkw	private int kmleistung; // Kilometerleistung	private int preis; // Preis des Pkw	/** Klassen-Attribute */	private static int aktIdentnummer = 0; // Akt. Nummerierung	private static String stdTyp = "GOLF"; // Standardtyp	private static String stdHersteller = "VW"; // Stadardhersteller	private static String stdFarbe = "ROT"; // Standardfarbe	private static PkwArray pkwArr = new PkwArray();	/**	 * Konstruktor 1 Pkw setzt default Werte	 * 	 * @param keine	 */	public Pkw() {		this(stdTyp, stdHersteller, stdFarbe, 0, 0);	}	/**	 * Konstruktor 2 Pkw	 * 	 * @param String	 *            t, Typ	 * @param String	 *            h, Hersteller	 * @param String	 *            f, Farbe	 * @param int	 *            k, kmleistung	 * @param int	 *            p, preis	 */	public Pkw(String t, String h, String f, int k, int p) {		identnummer = ++aktIdentnummer;		typ = t;		hersteller = h;		farbe = f;		kmleistung = k;		preis = p;		pkwArr.insert(this);	}	/**	 * Konstruktor 3 Pkw	 * 	 * @param String	 *            t, Typ	 * @param String	 *            h, Hersteller	 */	public Pkw(String t, String h) {		this(t, h, stdFarbe, 0, 0);	}	/**	 * Konstruktor 4 Pkw - zum Clonen	 * 	 * @param int	 *            id, Identifikationsnummer	 * @param String	 *            t, Typ	 * @param String	 *            h, Hersteller	 * @param String	 *            f, Farbe	 * @param int	 *            k, kmleistung	 * @param int	 *            p, preis	 */	Pkw(int id, String t, String h, String f, int k, int p) {		identnummer = id;		typ = t;		hersteller = h;		farbe = f;		kmleistung = k;		preis = p;	}	/**	 * Stringausgabe eines Pkw Objekts	 * 	 * @return String	 */	public String toString() {		 String s=new String();		 if ( this == null)   /* Falls der PKW nicht vorhanden ist, z.B. bei Ausgabe		                         * eines Arrays mit leeren Elementen		                         */		     s+= "PKW=Null";		 else		     s=s+identnummer+':'+typ+','+hersteller+','+farbe+','+kmleistung+" km,"		       +preis+" EUR"; /* Durch das vorangestellte s+ weider Compiler, dass		       		       * er die folgenden Variablen in Strings casten muss		            	       */ 		 return s;	}	/**	 * Stringausgabe des Pkw Arrays	 * 	 * @return String	 */	public static String alltoString() {		String s=new String();		for (int i = 0; i < pkwArr.getCount(); i++) {			s += pkwArr.getPkw(i).toString() + '\n';		}		return s;	}	/**	 * get-Methode Identnummer	 * 	 * @return int	 */	int getIdentnummer() {		return identnummer;	}	/**	 * get-Methode Typ	 * 	 * @return String	 */	String getTyp() {		return typ;	}	/**	 * get-Methode Hersteller	 * 	 * @return String	 */	String getHersteller() {		return hersteller;	}	/**	 * get-Methode Farbe	 * 	 * @return String	 */	String getFarbe() {		return farbe;	}	/**	 * get-Methode Kmleistung	 * 	 * @return int	 */	int getKmleistung() {		return kmleistung;	}	/**	 * get-Methode Preis	 * 	 * @return int	 */	int getPreis() {		return preis;	}	/**	 * set-Methode Farbe	 * 	 * @param String	 *            f, Farbe	 */	void setFarbe(String f) {		farbe = f;	}	/**	 * set-Methode Kmleistung	 * 	 * @param int	 *            k, kmleistung	 */	void setKmleistung(int k) {		kmleistung = k;	}	/**	 * set-Methode Preis	 * 	 * @param int	 *            p, preis	 */	void setPreis(int p) {		preis = p;	}	/**	 * get-Methode des Klassenattributs aktIdentnummer	 * 	 * @return int	 */	static int getAktIdentnummer() {		return aktIdentnummer;	}	/**	 * get-Methode des Klassenattributs pkwArr	 * 	 * @return PkwArray	 */	static PkwArray getPkwArr() {		return pkwArr;	}	/**	 * Funktion zum l鰏chen eines Pkw's aus dem Array	 * 	 * @param Pkw	 *            p	 * @return boolean	 */	static boolean delete(Pkw p) {				if(pkwArr.remove(p)) {			return true;		}		else {			return false;		}	}	/**	 * Funktion zum setzen der Standardwerte	 * 	 * @param String	 *            t, Typ	 * @param String	 *            h, Hersteller	 * @param f,	 *            Farbe	 */	static void setStandard(String t, String h, String f) {		if (t != "") {			stdTyp = t;		}		if (h != "") {			stdHersteller = h;		}		if (f != "") {			stdFarbe = f;		}	}	/**	 * 黚erschriebene Methode zum Gr鲞envergleich von Pkw-Objekten anhand des	 * Preises	 * 	 * @param Object	 *            o	 * @return int	 */	public int compareTo(Object o) {		return (this.preis - ((Pkw) o).preis);	}	/**	 * 黚erschrieben Methode zum pr黤en auf Gleichheit von Pkw-Objekten	 * 	 * @param Pkw	 *            p	 * @return boolean	 */	public boolean equals(Object o) {		Pkw p = (Pkw)o;		if (this.typ == p.typ && this.hersteller == p.hersteller				&& this.farbe == p.farbe && this.kmleistung == p.kmleistung				&& this.preis == p.preis) {			return true;		} else {			return false;		}	}	/**	 * 黚erschriebene Methode zum clonen von Pkw-Objekten	 * 	 * @return Object	 */	protected Object clone() {		return new Pkw(this.identnummer, this.typ, this.hersteller, this.farbe,				this.kmleistung, this.preis);	}	/**	 * save-Methode zum speichern von Pkw-Objekten	 * 	 * @param String	 *            s	 * @return boolean, gibt true zur點k wenn alles gespeichert wurde	 */	public static boolean save(String s) {		if (!s.endsWith(".pkw")) {			s += ".pkw";		}		PkwUnloadFile savePkwFile = new PkwUnloadFile(s,pkwArr.getCount());		boolean p = savePkwFile.writeHeader();		for (int i = 0; (i < pkwArr.getCount()) && p; i++) {			p = savePkwFile.writePkw(pkwArr.getPkw(i));		}		savePkwFile.close();		return p;	}	/**	 * load-Methode zum laden von Pkw-Objekten	 * 	 * @param String	 * @return boolean,	 */	public static boolean load(String s) {		boolean p = true;		int i = 0;		int m = Pkw.getPkwArr().getCount()-1;		int n = 0;		PkwLoadFile loadPkwFile = new PkwLoadFile(s);		String hString = loadPkwFile.readHeader(); // Lesen der Header-Zeile		// Anzahl der Pkw auslesen aus Datei		int index1 = hString.indexOf("#");		int index2 = hString.indexOf(" ");		String anzahl = hString.substring(index1 + 1, index2);		System.out.println("n: " + anzahl);		n = Integer.parseInt(anzahl);		for (i = m; i >= 0; i--) {			if (null == pkwArr.remove(i)) {				p = false;				break;			}		}		for (i = 0; i < n; i++) {			if (!pkwArr.insert(loadPkwFile.readPkw())) {				p = false;				break;			}		}		if (p) {			if (pkwArr.getCount() > 0) {				aktIdentnummer = pkwArr.getPkw(pkwArr.getCount()-1).getIdentnummer();			} else {				aktIdentnummer = 0;			}		}		return p;	}}/** nicht 鰂fentliche Klasse PkwUnloadFile <br>Klasse : <b> PkwUnloadFile </b>@autor Malte Blanken, Frank Thiesing, Svenja Wichelhaus, Jan Sch鋎lich, Hartmut Bakker@version 1.4 / 31.10.2005*/class PkwUnloadFile {	private String fileName;	private BufferedWriter aWriter;	private int			   count;	/**	 * Konstruktor	 * 	 * @param String	 *            pathname, filename	 */	public PkwUnloadFile(String pathname, int c) {		fileName = pathname;		aWriter = null;		count = c;	}	/**	 * schreibt den Header der Pkw-Datei	 * 	 * @return boolean, gibt true zur點k falls das Schreiben erfolgreich war	 */	public boolean writeHeader() {		boolean p;		if (aWriter != null)			p = false;		else {			try {				OutputStreamWriter outStream = new OutputStreamWriter(						new FileOutputStream(fileName));				aWriter = new BufferedWriter(outStream);			} catch (FileNotFoundException e) {				p = false;			}			try {				String s = "#" + count + " Pkw Records at ";				DateFormat aDateFormat = DateFormat.getDateTimeInstance(						DateFormat.DEFAULT, DateFormat.DEFAULT, Locale.GERMAN);				s += aDateFormat.format(new Date());				aWriter.write(s);				aWriter.newLine();				p = true;			} catch (IOException ex) {				p = false;			}		}		return p;	}	/**	 * schreibt einen Pkw in die Pkw-Datei	 * 	 * @return boolean, gibt true zur點k falls das Schreiben erfolgreich war	 */	public boolean writePkw(Pkw aPkw) {		boolean p = true;		try {			String s = Integer.toString(aPkw.getIdentnummer()) + "|"					+ aPkw.getTyp() + "|" + aPkw.getHersteller() + "|"					+ aPkw.getFarbe() + "|"					+ Integer.toString(aPkw.getKmleistung()) + "|"					+ Integer.toString(aPkw.getPreis());			aWriter.write(s);			aWriter.newLine();		} catch (IOException ex) {			p = false;		}		return p;	}	/**	 * schlie遲 die Pkw-Datei	 * 	 * @return boolean, gibt true zur點k falls das Schlie遝n erfolgreich war	 */	boolean close() {		boolean p = true;		try {			if (aWriter != null) {				aWriter.close();				aWriter = null;			}		} catch (IOException ex) {			p = false;		}		return p;	}}/** nicht 鰂fentliche Klasse PkwLoadFile <br>Klasse : <b> PkwLoadFile </b>@autor Malte Blanken, Frank Thiesing, Svenja Wichelhaus, Jan Sch鋎lich, Hartmut Bakker@version 1.4 / 31.10.2005*/class PkwLoadFile {	private String fileName;	private BufferedReader aReader;	/**	 * Konstruktor	 * 	 * @param String	 *            pathname, filename	 */	public PkwLoadFile(String pathname) {		fileName = pathname;		aReader = null;	}	/**	 * Funktion zum lesen des Headers	 * 	 * @return String, gibt die gesammte HeaderZeile zur點k	 */	public String readHeader() // Lesen der Header-Zeile	{		String s = null;		if (aReader == null)			try {				aReader = new BufferedReader(new InputStreamReader(						new FileInputStream(fileName)));				s = aReader.readLine();			} catch (IOException ex) {				s = null;			}		return s; // Rueckgabe Header oder null	}	/**	 * Funktion zum lesen eines Pkw's	 * 	 * @return Pkw	 */	public Pkw readPkw()    {	  Pkw    aPkw = null;	  int    id,k,p; String  s;	  //System.out.println(readStr);	  try	  { 		 s=aReader.readLine();		 String[] PkwStr = s.split("\\|");			       		 id=Integer.parseInt(PkwStr[0]);		 String typString=PkwStr[1];		 String herstellerString=PkwStr[2];	     String farbeString=PkwStr[3];		 k=Integer.parseInt(PkwStr[4]);		 p=Integer.parseInt(PkwStr[5]);			           		 aPkw = new Pkw(id,typString,herstellerString,farbeString,k,p);		 //System.out.println(aPkw.toString()); 	   } 	  catch (IOException ex) {aPkw = null;System.out.println("fehler!!!!!!!!"); }	 //System.out.println(aPkw.toString());	 return aPkw;				// Rueckgabe Pkw oder null    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -