Wo ist der Fehler bei meinem Java-Quellcode?

... komplette Frage anzeigen

2 Antworten

Als erstes ist die folgende Abfrage + Zusweisung überflüssig:

if (betrag < 5000)
{
   ss=0;
}

Ansonsten hast du einen Datentyp gewählt, der ganzzahlige Werte enthalten kann. Was hier passiert ist folgendes: du hast die Variable "ss" (in Deutschland übrigens eine schlechte Bezeichnung für alles) vom Typ "int", die maximal "20" sein kann. Diese dividierst du durch "100". Da du "int" also einen ganzzahligen Datentyp genommen hast, wird auch eine ganzzahlige Division durchgeführt. D.h. 20 / 100 = 0,2 - da das Ergebnis eine ganze Zahl sein muss, wird alles nach dem Komma abgeschnitten. Ergo wird auf die Variable "zs" immer "0" geschrieben und dann ausgegeben.

Du solltest einfach den Datentyp deiner Variablen "ss" und "zs" gegen einen Datentyp für Fließkommazahlen austauschen. Das sind in Java z.B. "float" oder "double".

Antwort bewerten Vielen Dank für Deine Bewertung

BopmitP 08.11.2015, 12:16

Das war die Lösung, vielen Dank! :D

0

Die einzige Möglichkeit, dass die Variable "Betrag" 0 ist, ist das du beim Funktionsaufruf als Parameter 0 eingegeben hast.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?