Hallo zusammen ich hätte mal eine frage, ich habe eine Aufgabe die lautet:
Herr Gustav ist Kabelverleger. Am Ende jeder Woche muss er eine Abrechnung durchführen. Dazu gibt er seiner Firma bekannt, wie viele Meter Kabel er verlegt und wie viele Stunden er dafür benötigt hat. Die Firma errechnet daraus die anfallenden Kosten wie folgt: Eine Kabeltrommel hat 400 m Kabel und kostet 2 € pro Meter. Bei angefangenen Kabeltrommeln kostet der Meter 3 €. Herr Müller hat einen Stundensatz von 25 € pro Stunde. Hat Herr Müller mehr als 36 Stunden gearbeitet, so gebührt ihm für jede Überstunde der doppelte Stundenlohn. Alle Werte für Stunden, Meter oder Euro werden in ganzen Zahlen gerechnet.
1. Mein erstes Problem ist wenn ich beispielsweise 40 Stunden Arbeit und 500 Meter kabel ausgebe kommt 2600€ raus wobei doch eigentlich 2200€ raus kommen müsste ich weiss nicht woran es liegt.
2. Die Aufgabe weiss ich auch nicht so recht wie ich sie lösen soll sie lautet: Wie haben Sie in Ihrem Programm die Werte, die in der Aufgabenstellung genannt sind verwendet? Wenn Sie es nicht schon so gemacht haben, dann passen Sie Ihr Programm noch einmal so an, dass es möglich ist die Stundensätze, Preise für Kabelmeter, Größe der Kabeltrommel und Anzahl der Vollzeitarbeitsstunden / Woche jeweils nur an einer einzigen Stelle zu ändern.
Mein Programm ist dieser hier:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Gustav {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int Stunden,Ueberstunden,Geld,Kabel,Kabeltrommel,Kosten,Abrechnung;
Kabel=1;
try {
System.out.println("Abrechnung:");
System.out.print("Stunden gearbeitet: ");
Stunden = Integer.parseInt(reader.readLine());
if(Stunden>36)
{
Ueberstunden=Stunden-36;
Stunden=36;
Geld=50*Ueberstunden+Stunden*25;
}
else
{
Geld=Stunden*25;
}
System.out.print("Kabel verlegt: ");
Kabel = Integer.parseInt(reader.readLine());
if(Kabel==400)
{
Kabeltrommel=1;
Kosten=Kabel*2;
}
else
{
Kosten=Kabel*3;
}
Abrechnung=Geld+Kosten;
System.out.println("Die Kosten belaufen sich auf:"+Abrechnung+" Euro");
}
catch(NumberFormatException nfe) {
System.out.println("Fehler! Bitte nur Zahlen eingeben!");
}
catch(IOException ioe) {
System.out.println("Fehler beim Lesen von der Tastatur!");
}
}
}
Herr Gustav ist Kabelverleger. Am Ende jeder Woche muss er eine Abrechnung durchführen. Dazu gibt er seiner Firma bekannt, wie viele Meter Kabel er verlegt und wie viele Stunden er dafür benötigt hat. Die Firma errechnet daraus die anfallenden Kosten wie folgt: Eine Kabeltrommel hat 400 m Kabel und kostet 2 € pro Meter. Bei angefangenen Kabeltrommeln kostet der Meter 3 €. Herr Müller hat einen Stundensatz von 25 € pro Stunde. Hat Herr Müller mehr als 36 Stunden gearbeitet, so gebührt ihm für jede Überstunde der doppelte Stundenlohn. Alle Werte für Stunden, Meter oder Euro werden in ganzen Zahlen gerechnet.
1. Mein erstes Problem ist wenn ich beispielsweise 40 Stunden Arbeit und 500 Meter kabel ausgebe kommt 2600€ raus wobei doch eigentlich 2200€ raus kommen müsste ich weiss nicht woran es liegt.
2. Die Aufgabe weiss ich auch nicht so recht wie ich sie lösen soll sie lautet: Wie haben Sie in Ihrem Programm die Werte, die in der Aufgabenstellung genannt sind verwendet? Wenn Sie es nicht schon so gemacht haben, dann passen Sie Ihr Programm noch einmal so an, dass es möglich ist die Stundensätze, Preise für Kabelmeter, Größe der Kabeltrommel und Anzahl der Vollzeitarbeitsstunden / Woche jeweils nur an einer einzigen Stelle zu ändern.
Mein Programm ist dieser hier:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Gustav {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int Stunden,Ueberstunden,Geld,Kabel,Kabeltrommel,Kosten,Abrechnung;
Kabel=1;
try {
System.out.println("Abrechnung:");
System.out.print("Stunden gearbeitet: ");
Stunden = Integer.parseInt(reader.readLine());
if(Stunden>36)
{
Ueberstunden=Stunden-36;
Stunden=36;
Geld=50*Ueberstunden+Stunden*25;
}
else
{
Geld=Stunden*25;
}
System.out.print("Kabel verlegt: ");
Kabel = Integer.parseInt(reader.readLine());
if(Kabel==400)
{
Kabeltrommel=1;
Kosten=Kabel*2;
}
else
{
Kosten=Kabel*3;
}
Abrechnung=Geld+Kosten;
System.out.println("Die Kosten belaufen sich auf:"+Abrechnung+" Euro");
}
catch(NumberFormatException nfe) {
System.out.println("Fehler! Bitte nur Zahlen eingeben!");
}
catch(IOException ioe) {
System.out.println("Fehler beim Lesen von der Tastatur!");
}
}
}