habe eine class datei:
und eine datei mit der main:
jetzt berechne ich den einnahmen für ein Objekt in der datei ohne main, in der methode public double berechnePreis().
den gesamteinnhamen in der datei mit main. leider berechnet mir die methode public double berechneEinnahmen() den gesamtpreis nicht bzw. bekomme bei der ausgabe System.out.println(+Gesamteinnahmen); immer 0.0
Code:
public class Auftrag
{ //Oeffentliche Klasse ohne "main-methode"
private int AuftragsNr;//Variablen initialisiert und als private deklariert
private String AuftragsGeber;//die Variablen sind nur über die set bew. get.methoden zu veraendern
private int AuftragsBeginn;
private int AuftragsEnde;
private String AuftragsStatus;
private double GesamtPreis;
private double Rabatt;
public Auftrag(int aN, String aG, int aB, int aE, String aS, double gP, double r)
{ //Konstruktor mit Parametern. Die Variablen werden mit den Parameterwerten initialisiert
this.AuftragsNr = aN;
this.AuftragsGeber = aG;
this.AuftragsBeginn = aB;
this.AuftragsEnde = aE;
this.AuftragsStatus = aS;
this.GesamtPreis = gP;
this.Rabatt = r;
}
//set-methoden: setzt den Wert der Variablen bzw. die Variablen koennen neu inizialisiert werden
//get-methode: erlauben den Zugriff auf die private Variable
//
//set bzw get fuer AuftragsNr
public void setAuftragsNr(int AuftragsNr)
{
this.AuftragsNr = AuftragsNr;
}
public int getAuftragsNr()
{
return AuftragsNr;
}
//set bzw get fuer AuftragsGeber
public void setAuftragsGeber(String AuftragsGeber)
{
this.AuftragsGeber = AuftragsGeber;
}
public String getAuftragsGeber()
{
return AuftragsGeber;
}
//set bzw get fuer AuftragsBeginn
public void setAuftragsBeginn(int AuftragsBeginn)
{
this.AuftragsBeginn = AuftragsBeginn;
}
public int getAuftragsBeginn()
{
return AuftragsBeginn;
}
//set bzw get fuer AuftragsEnde
public void setAuftragsEnde(int AuftragsEnde)
{
this.AuftragsEnde = AuftragsEnde;
}
public int getAuftragsEnde()
{
return AuftragsEnde;
}
//set bzw get fuer AuftragsStatus
public void setAuftragsStatus(String AuftragsStatus)
{
this.AuftragsStatus = AuftragsStatus;
}
public String getAuftragsStatus()
{
return AuftragsStatus;
}
//set bzw get fuer GesamtPreis
public void setGesamtPreis(double GesamtPreis)
{
this.GesamtPreis = GesamtPreis;
}
public double getGesamtPreis()
{
return GesamtPreis;
}
//set bzw get fuer Rabatt
public void setRabatt(double Rabatt)
{
this.Rabatt = Rabatt;
}
public double getRabatt()
{
return Rabatt;
}
public double berechnePreis()
{
GesamtPreis = this.GesamtPreis-this.Rabatt;
return GesamtPreis;
}
public void print()
{//Oeffentliche Methode ohne Rückgabewert: wird in der "main" aufgerufen und gibt die initialisierten Werte des jeweilgen Objekts aus
System.out.println("Auftragsnr: " +this.AuftragsNr);
System.out.println("AuftragsGeber: " +this.AuftragsGeber);
System.out.println("Auftragsnr: " +this.AuftragsBeginn);
System.out.println("Auftragsnr: " +this.AuftragsEnde);
System.out.println("Auftragsnr: " +this.AuftragsStatus);
System.out.println("Auftragsnr: " +this.GesamtPreis);
System.out.println("Auftragsnr: " +this.Rabatt);
}
}
und eine datei mit der main:
Code:
import java.io.*;
public class Auftragsverwaltung
{
public static int AuftragsNr;//Variablen initialisiert und als public deklariert
public static String AuftragsGeber;//die Variablen werden über die Eingabe initialisiert
public static int AuftragsBeginn;//die initialisierten Variablen werden dann an den Konstruktor in der Datei Auftrag übergeben
public static int AuftragsEnde;
public static String AuftragsStatus;
public static double GesamtPreis;
public static double Rabatt;
public static double Gesamteinnahmen;
//Array-Objekt: Referrenz 0 bis 2, also kann das Array drei Objelte speichern
public static Auftrag Auftraege[] = new Auftrag [3];
public double berechneEinnahmen()
{
for(int num = 0; num < 3; num++)
{
Gesamteinnahmen = Gesamteinnahmen+Auftraege[num].berechnePreis();
}
return Gesamteinnahmen;
}
public static void main (String args[])throws IOException
{
//
BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
//for-Schleife, zum initialisieren der drei Referenzen des Arrays
for(int num = 0; num < 3; num++){
System.out.println("Gebe die Auftragsnummer ein: ");
AuftragsNr = Integer.parseInt(buffer.readLine());
System.out.println("Gebe den AuftragsGeber ein: ");
AuftragsGeber = buffer.readLine();
System.out.println("Gebe den AuftragsBeginn ein: ");
AuftragsBeginn = Integer.parseInt(buffer.readLine());
System.out.println("Gebe das AuftragsEnde ein: ");
AuftragsEnde = Integer.parseInt(buffer.readLine());
System.out.println("Gebe die AuftragsStatus ein: ");
AuftragsStatus = buffer.readLine();
System.out.println("Gebe die GesamtPreis ein: ");
GesamtPreis = Double.parseDouble(buffer.readLine());
System.out.println("Gebe die Rabatt ein: ");
Rabatt = Double.parseDouble(buffer.readLine());
Auftraege[num] = new Auftrag(AuftragsNr, AuftragsGeber, AuftragsBeginn, AuftragsEnde, AuftragsStatus, GesamtPreis, Rabatt);
}
Auftraege[0].print();
System.out.println("");
Auftraege[1].print();
System.out.println("");
Auftraege[2].print();
System.out.println(+Gesamteinnahmen);
}
}
jetzt berechne ich den einnahmen für ein Objekt in der datei ohne main, in der methode public double berechnePreis().
den gesamteinnhamen in der datei mit main. leider berechnet mir die methode public double berechneEinnahmen() den gesamtpreis nicht bzw. bekomme bei der ausgabe System.out.println(+Gesamteinnahmen); immer 0.0