Hallo zusammen,
ich soll mit Hilfe der Case-Struktur den (Grenz-) Steuersatz in 4 Stufen abbilden:
bis 9.999 steuerfrei
10.000 bis 19.999 10 %
20.000 bis 29.999 20 %
ab 30.000 30 %
Die Einkommensteuer soll sich unter Vorgabe des zu versteuernden Einkommens berechnen. Zu beachten ist hierbei, dass es kein deutsches Steuergesetz ist sondern nach dem amerikanischen Prinzip aufgebaut ist. Sprich 9.999 sind immer steuerfrei auch wenn das Einkommen 10.000 beträgt. Wenn das Einkommen 10.000 beträgt muss nur 1 € versteuert werden.
Dies ist auch mein Problem. Bei einem Einkommen von 10.000 € wird in der Console trotzdem 0 € als Einkommensteuer ausgegeben. Wo liegt mein Fehler?
public class Esteuer {
public static double est (int e) {
double esteuer = 0;
int fall;
if (e <= 9999) {
fall = 1;
}
else if ((e >= 10000) && (e < 20000)) {
fall = 2;
}
else if ((e >= 20000) && (e < 30000)) {
fall = 3;
}
else {
fall = 4;
}
switch (fall) {
case 1:
esteuer = 0;
break;
case 2:
e = e-9999;
esteuer = (e*10)/100; //hier noch Fehler mit 0,10 cent
break;
case 3:
esteuer = 10000 * 10 / 100;
esteuer = esteuer + (e-20000)*20 /100;
break;
case 4:
esteuer = 15000 * 20 / 100;
esteuer = esteuer + (e-30000)*30 /100;
break;
}
return esteuer;
}
}
Ausgabe Console:
5000 ,00 ,00 %
6000 ,00 ,00 %
7000 ,00 ,00 %
8000 ,00 ,00 %
9000 ,00 ,00 %
10000 ,00 ,00 %
11000 100,00 ,91 %
ich soll mit Hilfe der Case-Struktur den (Grenz-) Steuersatz in 4 Stufen abbilden:
bis 9.999 steuerfrei
10.000 bis 19.999 10 %
20.000 bis 29.999 20 %
ab 30.000 30 %
Die Einkommensteuer soll sich unter Vorgabe des zu versteuernden Einkommens berechnen. Zu beachten ist hierbei, dass es kein deutsches Steuergesetz ist sondern nach dem amerikanischen Prinzip aufgebaut ist. Sprich 9.999 sind immer steuerfrei auch wenn das Einkommen 10.000 beträgt. Wenn das Einkommen 10.000 beträgt muss nur 1 € versteuert werden.
Dies ist auch mein Problem. Bei einem Einkommen von 10.000 € wird in der Console trotzdem 0 € als Einkommensteuer ausgegeben. Wo liegt mein Fehler?
public class Esteuer {
public static double est (int e) {
double esteuer = 0;
int fall;
if (e <= 9999) {
fall = 1;
}
else if ((e >= 10000) && (e < 20000)) {
fall = 2;
}
else if ((e >= 20000) && (e < 30000)) {
fall = 3;
}
else {
fall = 4;
}
switch (fall) {
case 1:
esteuer = 0;
break;
case 2:
e = e-9999;
esteuer = (e*10)/100; //hier noch Fehler mit 0,10 cent
break;
case 3:
esteuer = 10000 * 10 / 100;
esteuer = esteuer + (e-20000)*20 /100;
break;
case 4:
esteuer = 15000 * 20 / 100;
esteuer = esteuer + (e-30000)*30 /100;
break;
}
return esteuer;
}
}
Ausgabe Console:
5000 ,00 ,00 %
6000 ,00 ,00 %
7000 ,00 ,00 %
8000 ,00 ,00 %
9000 ,00 ,00 %
10000 ,00 ,00 %
11000 100,00 ,91 %