Assignment Chef icon Assignment Chef
All German tutorials

Programming lesson

Java-Lohnabrechnung für drei Mitarbeiter: Variablen und I/O in ICS 141

Lerne, wie du mit Java eine einfache Lohnabrechnung für drei Mitarbeiter programmierst – inklusive Eingabe, Verarbeitung und Ausgabe. Perfekt für dein ICS 141 Assignment 1.

Java Lohnabrechnung ICS 141 Assignment 1 Variablen und I/O Java nextLine Problem Java Scanner Java Gehaltsberechnung Java Java Programmierung lernen Java Übungsaufgabe E-Sport Gehalt Java Steuerberechnung Java Java Tutorial Deutsch Anfänger Java Projekt Java Konsolenausgabe formatieren Java printf

Einführung: Warum dieses Tutorial wichtig ist

In der heutigen digitalen Arbeitswelt ist die Automatisierung von Gehaltsabrechnungen ein zentrales Thema. Stell dir vor, du arbeitest für ein Startup, das gerade drei Angestellte hat – vielleicht ähnlich wie ein junges E-Sport-Team oder ein Indie-Game-Studio. In diesem Tutorial lernst du, wie du mit Java ein Programm schreibst, das die Nettogehälter berechnet, Steuern abzieht und die Ergebnisse ansprechend ausgibt. Dieses Programm ist genau das, was du für dein ICS 141 Assignment 1 brauchst: Problem Solving Using Variables and I/O.

Die Aufgabenstellung verstehen

Dein Programm soll für drei Mitarbeiter folgende Daten einlesen: Name, Stundenlohn und gearbeitete Stunden. Außerdem wird ein einheitlicher Steuersatz (zwischen 0 und 1,0) eingegeben. Die Berechnungen umfassen:

  • Bruttogehalt pro Mitarbeiter (Stundenlohn × Stunden)
  • Steuerbetrag pro Mitarbeiter (Bruttogehalt × Steuersatz)
  • Nettogehalt pro Mitarbeiter (Bruttogehalt − Steuerbetrag)
  • Summe aller einbehaltenen Steuern

Zusätzlich soll dein Name ausgegeben werden. Das klingt machbar, oder? Mit diesem Tutorial wirst du Schritt für Schritt durch den Prozess geführt – von der Variablendeklaration bis zur hübschen Ausgabe.

Grundlagen: Variablen und Datentypen in Java

Bevor wir loslegen, frischen wir kurz die Grundlagen auf. In Java verwendest du Variablen, um Daten zu speichern. Für Namen nutzt du String, für Geldbeträge double und für ganze Zahlen int. Ein Beispiel:

String name;   // speichert den Namen
double stundenLohn;   // speichert den Stundenlohn
int stunden;   // speichert die gearbeiteten Stunden

Die Eingabe erfolgt über die Scanner-Klasse. Beachte die nextLine()-Problematik: Nach nextInt() oder nextDouble() bleibt ein Zeilenumbruch im Puffer, der das nächste nextLine() überspringen lässt. Lösung: Füge ein zusätzliches scan.nextLine() ein. Das wird in deinem Assignment ausdrücklich erwähnt.

Schritt 1: Projekt einrichten und Scanner importieren

Erstelle ein neues Java-Projekt mit dem Namen Assignment1 (z.B. DeinNameAssignment1). Lege eine Klasse an, z.B. Gehaltsrechner. Importiere java.util.Scanner:

import java.util.Scanner;

public class Gehaltsrechner {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        // ...
    }
}

Schritt 2: Eingabe der Mitarbeiterdaten

Wir fragen nacheinander die Daten für drei Mitarbeiter ab. Hier ein Auszug für den ersten Mitarbeiter – die anderen folgen dem gleichen Muster:

System.out.println("=== Mitarbeiter 1 ===");
System.out.print("Name: ");
String name1 = scan.nextLine();

System.out.print("Stundenlohn: ");
double stundenLohn1 = scan.nextDouble();
scan.nextLine(); // redundant, aber wichtig!

System.out.print("Gearbeitete Stunden: ");
int stunden1 = scan.nextInt();
scan.nextLine(); // redundant

Wiederhole diesen Block für Mitarbeiter 2 und 3. Am Ende fragst du den Steuersatz ab:

System.out.print("Steuersatz (z.B. 0.2 für 20%): ");
double steuersatz = scan.nextDouble();
scan.nextLine();

Schritt 3: Berechnungen durchführen

Jetzt kommt der spannende Teil: die Berechnungen. Für jeden Mitarbeiter berechnest du:

  • Bruttogehalt = Stundenlohn × Stunden
  • Steuerbetrag = Bruttogehalt × Steuersatz
  • Nettogehalt = Bruttogehalt − Steuerbetrag

Zusätzlich summierst du die Steuerbeträge aller Mitarbeiter. Hier ein Beispiel für Mitarbeiter 1:

double brutto1 = stundenLohn1 * stunden1;
double steuer1 = brutto1 * steuersatz;
double netto1 = brutto1 - steuer1;

Führe die gleichen Berechnungen für die anderen Mitarbeiter durch und addiere die Steuern:

double gesamtSteuer = steuer1 + steuer2 + steuer3;

Schritt 4: Ausgabe der Ergebnisse

Die Ausgabe soll ansprechend sein. Verwende System.out.printf() oder System.out.println() mit Formatierung. Ein Beispiel für die Ausgabe:

System.out.println("\n========== Gehaltsabrechnung ==========");
System.out.printf("%-20s %10s %10s %10s%n", "Name", "Brutto", "Steuer", "Netto");
System.out.println("----------------------------------------");
System.out.printf("%-20s %10.2f %10.2f %10.2f%n", name1, brutto1, steuer1, netto1);
System.out.printf("%-20s %10.2f %10.2f %10.2f%n", name2, brutto2, steuer2, netto2);
System.out.printf("%-20s %10.2f %10.2f %10.2f%n", name3, brutto3, steuer3, netto3);
System.out.println("----------------------------------------");
System.out.printf("Gesamte einbehaltene Steuer: %.2f%n", gesamtSteuer);
System.out.println("Erstellt von: Dein Name");

Mit %-20s richtest du den Text linksbündig aus, %10.2f sorgt für zwei Nachkommastellen. Das macht die Tabelle übersichtlich.

Schritt 5: Vollständiger Code und Kommentare

Vergiss nicht, deinen Code zu kommentieren. Am Anfang der Datei stehen dein Name, eine Beschreibung und das Abgabedatum. Hier ein Beispiel für den Kopf:

/*
 * Name: Max Mustermann
 * Kurs: ICS 141
 * Beschreibung: Dieses Programm berechnet die Nettogehälter von drei Mitarbeitern
 * unter Berücksichtigung eines einheitlichen Steuersatzes.
 * Abgabedatum: 13. Juni 2026
 */

Der vollständige Code sollte alle oben genannten Teile enthalten. Achte darauf, dass du die redundanten nextLine() nicht vergisst – sonst funktioniert die Eingabe nicht richtig.

Häufige Fehler und wie du sie vermeidest

Hier sind typische Stolperfallen:

  • nextLine()-Problem: Immer ein zusätzliches scan.nextLine() nach nextInt() oder nextDouble() einfügen.
  • Falsche Datentypen: Für Namen String, für Geld double, für Stunden int (oder double, falls Nachkommastellen erlaubt).
  • Steuersatz außerhalb 0-1: Du kannst eine Plausibilitätsprüfung einbauen, aber für das Assignment reicht die Annahme, dass der Benutzer korrekte Werte eingibt.

Trend-Beispiel: Gehaltsabrechnung für ein E-Sport-Team

Stell dir vor, dein Programm wird für ein E-Sport-Team wie „GameOn“ eingesetzt. Die drei Spieler heißen z.B. „ProGamer1“, „ProGamer2“ und „ProGamer3“. Sie haben unterschiedliche Stundenlöhne – je nach Erfahrung. Der Steuersatz könnte 0,15 (15 %) betragen. Dein Programm berechnet, wie viel jeder Spieler netto bekommt und wie viel Steuern das Team abführen muss. Das ist genau das, was du in deinem Assignment umsetzt – nur dass die Namen und Zahlen frei wählbar sind.

Ausgabe verschönern: Tipps für eine attraktive Darstellung

Neben der Tabelle kannst du mit System.out.println() Trennlinien einfügen oder Farben in der Konsole verwenden (z.B. mit ANSI-Codes, aber das ist optional). Wichtig ist, dass die Ausgabe klar und lesbar ist. Verwende printf für Formatierung.

Zusammenfassung

Mit diesem Tutorial hast du gelernt, wie du Variablen, Eingabe und Ausgabe in Java nutzt, um eine Lohnabrechnung für drei Mitarbeiter zu programmieren. Du kennst jetzt die nextLine()-Problematik und weißt, wie du sie umgehst. Dein Code ist kommentiert und bereit für die Abgabe. Vergiss nicht, ein Video zu erstellen, in dem du deinen Code erklärst – das ist Teil der Anforderungen. Viel Erfolg bei deinem ICS 141 Assignment!