# Problem bei der Ausgabe



## bsargl7. (15. Nov 2021)

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]


----------



## mrBrown (15. Nov 2021)

Lass dir mal ausgeben, was `steigerung/100` ergibt 


Und generell sieht die Schleife etwas merkwürdig aus, sicher, dass das dem in der Aufgabe gefordertem entspricht?


----------



## kneitzel (15. Nov 2021)

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.


----------



## bsargl7. (15. Nov 2021)

kneitzel hat gesagt.:


> 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.


Das ist mein Konstruktor
[CODE lang="java" title="Investiton"]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;

    [/CODE]


----------



## bsargl7. (15. Nov 2021)

mrBrown hat gesagt.:


> Lass dir mal ausgeben, was `steigerung/100` ergibt
> 
> 
> Und generell sieht die Schleife etwas merkwürdig aus, sicher, dass das dem in der Aufgabe gefordertem entspricht?


Ich habe nur den Part aufgeschrieben, in der es nicht so klappt wie gewollt.


----------



## bsargl7. (15. Nov 2021)

Hier ist der gesamte Code für die Methode und die Aufgabe zu entnehmen


```
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 ("--------------------------------------");
        }
```


----------



## kneitzel (15. Nov 2021)

GebauteAutos ist ein int. Was für Zahlen kann ein int speichern? Was addiert du da also in der Schleife immer dazu?

Ich habe es ja bereits geschrieben....


----------



## mihe7 (15. Nov 2021)

Neuer Thread, neues Glück?


----------



## kneitzel (15. Nov 2021)

mihe7 hat gesagt.:


> Neuer Thread, neues Glück?


Ich bin zu faul einen anderen Thread auch noch zu lesen ... Steigerung gibt eine Steigerung in Prozent an nehme ich an?

Dann wäre das Kernthema: Prozentrechnung.

Was ist x Prozent von einer Anzahl a? Kannst Du das berechnen?


----------



## kneitzel (15. Nov 2021)

Also den Thread hier am besten dicht machen - das ganze Thema ist im anderen Thread ja schon im Detail erläutert worden.


----------

