# Fehler in der Rechnung



## Tim1234 (22. Apr 2012)

Guten Tag

Ich bin's nochmal 
Ich habe ein Problem mit meiner Rechnung. 
Die Variable "Leistungsfaktor" kann nicht gelöst werden. Und ich weiß absolut nicht warum.

Hier ist die Aufgabe:
Eine Finanzdienstleistungsfirma beabsichtigt zum Jahresende eine Leistungsvergütung an ihre Mitarbeiter zu zahlen. Dafür wird für jeden Mitarbeiter ein Leistungsfaktor wie folgt berechnet:

20% aus dem relativen Alter zum Durchschnittsalter sämtlicher Mitarbeiter.
30% aus der Anzahl der Beschäftigungsjahre.
50 % aus der Anzahl der erfolgreich abgeschlossenen Kundenverträge im Jahr.

Der ermittelte Leistungsfaktor soll dann mit dem Jahresgehalt multipliziert werden und das Ergebnis durch 100 geteilt um den auszuschüttenden Betrag zu errechnen.
Ergänzen Sie die Methoden “faktor“ und “betrag“ wie oben beschrieben. Das aktuelle Durchschnittsalter der Mitarbeiter ist 33.4 Jahre.

Hinweise zur Lösung:
Das relative Alter eines Mitarbeiters ist der Quotient aus seinem Alter und dem Durchschnittsalter der Mitarbeiter.
Verwenden Sie zur Erstellung Ihrer Lösung ausschließlich das unten angegebene Programmfragment.
Achten Sie bei der Berechnung auf die richtigen Datentypen für Zahlen insbesondere bei der Anwendung der Division und Multiplikation.
Testen Sie das Programm für den Mitarbeiter “Andre“ (Jahresgehalt = 50000).

Und das ist mein Programm: 

```
public class Demoprojekt {
	float durchschnittsalter = 33.4f;

	public float faktor( String name, int alter, int dienstzeit, int vertraege )
	{
		float relativesAlter = alter/durchschnittsalter;
				float faktorAlter = relativesAlter * 0.2f;
				float faktorDienstzeit = dienstzeit * 0.3f;
				float faktorVertraege = vertraege * 0.5f; 
				float Leistungsfaktor = faktorAlter + faktorDienstzeit + faktorVertraege;
				
				return Leistungsfaktor;
	}

	public float betrag(float faktor, int jahresgehalt)
	{
		float ergebnis2 = (Leistungsfaktor * jahresgehalt) / 100f;
		return ergebnis2;
	}

	public static void main(String args[])
	{
		Demoprojekt p = new Demoprojekt();
		int jahresgehalt = 50000;
		float faktor = p.faktor("Andre", 36, 4, 10);
		float betrag = p.betrag(faktor, jahresgehalt);
		System.out.println("Mitarbeiter Andre bekommt: "+ betrag );
	}
}
```


----------



## Landei (22. Apr 2012)

```
public float betrag(float faktor, int jahresgehalt)
    {
        float ergebnis2 = (faktor * jahresgehalt) / 100f;
        return ergebnis2;
    }
```

Du steckst die Berechnung in ein Argument namens faktor, dann musst du es auch so aufrufen. Leistungsfaktor ist nur lokal in der Methode faktor bekannt.

Variablen übrigens immer klein schreiben.


----------



## Tim1234 (22. Apr 2012)

Ach natürlich

Super vielen Dank. Hat alles geklappt.


----------

