Thema: Auswahlkontrolle
Hi!
habe 2 Klassen:
Auftrag.java:
/** Auftrag.java
* Klasse dient zur Erfassung einzelner Aufträge
* @author Henrik Hohoff (henrik@hohoff-projekt.de)
* 10.01.2004
*/
public class Auftrag{
// Variablen werden deklariert
private int auftragsnummer;
private String auftraggeber;
private int auftragsbeginn;
private int auftragsende;
private String auftragsstatus;
private long gesamtpreis;
private double rabatt;
// Konstruktor wird definiert
public Auftrag(int auftragsnummer, String auftraggeber, int auftragsbeginn,
int auftragsende, String auftragsstatus, long gesamtpreis, double rabatt){
this.auftragsnummer = auftragsnummer;
this.auftraggeber = auftraggeber;
this.auftragsbeginn = auftragsbeginn;
this.auftragsende = auftragsende;
this.auftragsstatus = auftragsstatus;
this.gesamtpreis = gesamtpreis;
this.rabatt = rabatt;
}
// Methoden nehmen die Auftragsdaten auf *****************************
public void setAuftragsnummer(int auftr_nr){
auftragsnummer = auftr_nr;
}
public void setAuftraggeber(String auftr_geber){
auftraggeber = auftr_geber;
}
public void setAuftragsbeginn(int auftr_beginn){
auftragsbeginn = auftr_beginn;
}
public void setAuftragsende(int auftr_ende){
auftragsende = auftr_ende;
}
public void setAuftragsstatus(String auftr_status){
auftragsstatus = auftr_status;
}
public void setGesamtpreis(long auftr_preis){
gesamtpreis = auftr_preis;
}
public void setRabatt(double auftr_rabatt){
rabatt = auftr_rabatt;
}
// Ende **************************************************************
// Methoden berechnen die Auftragsdaten *****************************
public int getAuftragsnummer(){
return(auftragsnummer);
}
public String getAuftraggeber(){
return(auftraggeber);
}
public int getAuftragsbeginn(){
return(auftragsbeginn);
}
public int getAuftragsende(){
return(auftragsende);
}
public String getAuftragsstatus(){
return(auftragsstatus);
}
public long getGesamtpreis(){
long rabatt_in_DM = (long) ((gesamtpreis/100) *rabatt);
long gesamtpreis_mit_Rabatt = gesamtpreis - rabatt_in_DM;
return(gesamtpreis_mit_Rabatt);
}
public double getRabatt(){
return(rabatt);
}
public int getRestlicheLaufzeit(int aktuelleKW){
return(0);
}
public void alleDatenAusgeben(){
System.out.println("Auftragsnummer: "+auftragsnummer+"");
System.out.println("Auftraggeber: "+auftraggeber+"");
System.out.println("Auftragsbeginn: "+auftragsbeginn+"");
System.out.println("Auftragsende: "+auftragsende+"");
System.out.println("Auftragsstatus: "+auftragsstatus+"");
System.out.println("Gesamtpreis: "+gesamtpreis+"");
System.out.println("Rabatt: "+rabatt+"");
}
// Ende ***********************************************************
}und Auftragsverwaltung.java:
/** Auftragsverwaltung.java
* Klasse dient zum testen der Klasse Auftrag.
* @author Henrik Hohoff (henrik@hohoff-projekt.de)
* 10.01.2004
*/
public class Auftragsverwaltung {
Auftrag auftrag1 = new Auftrag(200401,"Mueller", 25, 31, "nicht angefangen", 300, 5.0);
Auftrag auftrag2 = new Auftrag(200402,"Meier", 30, 37, "nicht angefangen", 500, 6.0);
Auftrag auftrag3 = new Auftrag(200403,"Schuster", 27, 35, "nicht angefangen", 400, 8.0);
public static void main (String[] args) throws java.io.IOException {
java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));
Auftragsverwaltung av = new Auftragsverwaltung();
// Programmkopf
for(int i=1; i<50; i++){
System.out.print("*");
}
System.out.print("n");
System.out.println("Auftragsverwaltung Henrik Hohoff Enterprises");
for(int i=1; i<50; i++){
System.out.print("*");
}
System.out.print("n");
// Programmkopf Ende
// Menuefuehrung
System.out.print("Was moechten Sie tun? n");
System.out.print("1. Einnahmen berechnenn");
System.out.print("2. Rabatt erhoehenn");
System.out.print("3. Alle Auftraege ausgebenn");
System.out.print("4. einzelnen Auftrag zeigenn");
for(int i=1; i<50; i++){
System.out.print("*");
}
System.out.print("n");
System.out.print("5. Programm beendennn");
int wasTunEingabe = Integer.parseInt(in.readLine());
// Menuefuehrung Ende
// Auswahlkontrolle
switch (wasTunEingabe){
case 1 : av.berechneEinnahmen(); break;
case 2 : av.aendereRabatt(); break;
case 3 : av.alleAuftraegeAusgeben(); break;
case 4 : av.alleAuftraegeAusgeben(); break;
case 5 : System.out.println("n Danke und bis zum Naechsten Mal!nn");
System.exit(0);
default: break;
}// Auswahlkontrolle Ende
// Programmkopf Ende
} // public static void main (String[]args)
// gibt alle Auftraege aus
public void alleAuftraegeAusgeben(){
auftrag1.alleDatenAusgeben();
System.out.print("n");
auftrag2.alleDatenAusgeben();
System.out.print("n");
auftrag3.alleDatenAusgeben();
}// gibt alle Auftraege aus Ende
// die gesamten Einnahmen werden berechnet
public long berechneEinnahmen(){
long einnahmen1 = auftrag1.getGesamtpreis();
long einnahmen2 = auftrag2.getGesamtpreis();
long einnahmen3 = auftrag3.getGesamtpreis();
long endPreis = einnahmen1 + einnahmen2 + einnahmen3;
System.out.println("die Einnahmen betragen:" + endPreis + "n");
return endPreis;
}
public double aendereRabatt() throws java.io.IOException{
java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));
System.out.print("Um wieviel soll der Rabatt erhoeht werden? n");
double neuerRabattEingabe = Double.parseDouble(in.readLine());
double rabatt1 = auftrag1.getRabatt();
double rabatt2 = auftrag2.getRabatt();
double rabatt3 = auftrag3.getRabatt();
rabatt1 = rabatt1 + neuerRabattEingabe;
rabatt2 = rabatt2 + neuerRabattEingabe;
rabatt3 = rabatt3 + neuerRabattEingabe;
return neuerRabattEingabe;
}
}ist ein wenig lang... ![]()
Hier geht es um drei vordefinierte Aufträge und Möglichkeiten sich verschiedene daten ausgeben zu lassen.
mein Problem ist, dass die Menueführung, also der Programmkopf nach Abarbeitung des Eingabe-befehls wieder die Menueführung anbieten soll.
Die Menueführung muss also in einer eigenen Methode definiert sein, die nach Abschluss der Ausgabe wieder aufgerufen werden soll...
kann mir da jmd helfen?
schöne Grüße