Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich habe ein Problem bei den gebautenAutos. Bei der Ausgabe kommt für jedes Jahr
10000 raus. Es muss ja aber immer mehr werden. Wo liegt der Fehler ?
mein absatz ist übrigens 10000
und die Steigerung = 5
[CODE lang="java" title="Investiton"]
public void bilanzier(){
gebauteAutos= absatz;
while ( investGeld>reingewinn){
for (int i = 0; i <absatz; i++){
gebauteAutos += steigerung/100;
}
jahr++;
System.out.println("Anzahl der gebauten Autos : " +gebauteAutos);
}
}[/CODE]
Ich nehme an, dass gebauteAutos und steigerung beide vom Typ int sind.
Dann ist steigerung / 100 eine int Berechnung. und 5 / 100 ist 0,05 was bei int schlicht 0 ist.
Selbst wenn steigerung eine float oder double wäre und nur gebauteAutos ein int: da wprde dann halt 0 addiert.
Ich nehme an, dass gebauteAutos und steigerung beide vom Typ int sind.
Dann ist steigerung / 100 eine int Berechnung. und 5 / 100 ist 0,05 was bei int schlicht 0 ist.
Selbst wenn steigerung eine float oder double wäre und nur gebauteAutos ein int: da wprde dann halt 0 addiert.
Hier ist der gesamte Code für die Methode und die Aufgabe zu entnehmen
Java:
public class Investition
{
private double kosten = 23500;
private double invest = 100000000;
private int absatz = 10000;
private double steigerung = 5;
private double preis = 24950;
private int jahr;
private double umsatz;
private double herstellungskosten;
private int gebauteAutos;
private double reingewinn;
// Aufgabe : Schreiben Sie ein Methode void bilanzier(), die für jedes Jahr ausgeben soll wie
//viele Autos voraussichtlich gebaut werden, wie hoch die Herstellungskosten für alle sind,
//mit welchem Umsatz gerechnet wird und wie hoch der Reingewinn (Umsatz minus
//Herstellungskosten) in diesem Jahr und über alle Produktionsjahre ist. Die Methode soll
//stoppen, sobald die Gewinnzone erreicht worden ist.
public void bilanzier(){
gebauteAutos = absatz;
double investGeld= getInvest();
double reingwinngewinn = 0;
double herstellungskosten= 0;
double umsatz= 0;
int jahr =0;
while ( investGeld>reingewinn){
for (int i = 0; i <absatz; i++){
gebauteAutos += steigerung/100;
herstellungskosten += getKosten();
umsatz += getPreis();
reingewinn += getPreis()-getKosten();
}
jahr++; //Jahre hochzählen
//Gebe die Werte aus
System.out.println ("Für Jahr : " +jahr);
System.out.println("Anzahl der gebauten Autos : " +gebauteAutos);
System.out.println ("Umsatz in Euro : " +umsatz);
System.out.println ("Herstellungskosten in Euro:" +herstellungskosten);
System.out.println ("Reingewinn in Euro : " +reingewinn);
System.out.println ("--------------------------------------");
}