Java Grundlagen Schulung – Kursbezug
Ziel dieses Kapitels: Sie bauen eine kleine Java-App, die Eingaben liest, Entscheidungen trifft, Berechnungen macht und am Ende sauber ausgibt.
Worum geht’s?
- Sie verbinden Grundlagen: Datentypen, Strings, if/switch, Schleifen, Fehlerbehandlung.
- Sie nutzen
Scannerfür Eingaben im Terminal. - Sie strukturieren Ihr Programm in klare Schritte (Input → Process → Output).
Lehr-/Lernziele
- (LZ1) eine Konsolenanwendung in klaren Schritten aufbauen (Input → Process → Output) und Ein-/Ausgabe mit
Scanner/System.outumsetzen. - (LZ2) Eingaben robust validieren (Zahlbereich, leere Strings) und mit Guard-Clauses/Fehlermeldungen sauber reagieren.
- (LZ3) Logik (Bedingungen, Schleifen, Berechnung) so schreiben, dass sie nachvollziehbar bleibt und leicht erweiterbar ist.
Das Grundmuster (Input → Process → Output)
// 1) Input: Werte einlesen
// 2) Process: Regeln/Berechnungen
// 3) Output: Ergebnisse ausgebenEingaben lesen mit Scanner
import java.util.Scanner;
public class ScannerBasics {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Name: ");
String name = sc.nextLine();
System.out.print("Dauer (Tage): ");
int tage = sc.nextInt();
sc.nextLine(); // Zeilenumbruch konsumieren
System.out.println("Hallo " + name + ", Dauer: " + tage + " Tage");
sc.close();
}
}Mini-App: Kurs-Konfigurator (Beispiel)
import java.util.Scanner;
public class KursKonfiguratorBeispiel {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Kursname: ");
String kursName = sc.nextLine().trim();
System.out.print("Format (Online/Praesenz): ");
String format = sc.nextLine().trim();
System.out.print("Ort (nur Praesenz, sonst leer): ");
String ort = sc.nextLine().trim();
System.out.print("Dauer in Tagen (1-10): ");
int dauer = sc.nextInt();
System.out.print("Preis in Euro (Beispiel): ");
double preis = sc.nextDouble();
if (dauer < 1 || dauer > 10) {
System.out.println("Ungültige Dauer. Bitte 1 bis 10 eingeben.");
sc.close();
return;
}
boolean istOnline = format.equalsIgnoreCase("Online");
String ausgabeOrt = istOnline ? "remote" : (ort.isEmpty() ? "(bitte Ort angeben)" : ort);
// Beispiel-Regel: Online & dauer >= 3 -> 10% Rabatt
double rabatt = (istOnline && dauer >= 3) ? 0.10 : 0.0;
double endpreis = preis * (1 - rabatt);
System.out.println("\n--- Zusammenfassung ---");
System.out.println("Kurs: " + kursName);
System.out.println("Format: " + (istOnline ? "Online" : "Praesenz") + " | Ort: " + ausgabeOrt);
System.out.println("Dauer: " + dauer + " Tage");
System.out.println("Preis (Beispiel): " + endpreis + " €");
System.out.println("\nTagesplan:");
for (int tag = 1; tag <= dauer; tag++) {
System.out.println("Tag " + tag + ": Inhalte & Übungen");
}
sc.close();
}
}Praxisaufgabe (Mini)
- Lesen Sie ein:
kursName,format,dauer,preis. (LZ1) - Validieren Sie:
dauermuss zwischen 1 und 10 liegen (sonst Hinweis & Abbruch). (LZ2) - Wenn Online &
dauer >= 3: 10% Rabatt berechnen. (LZ3) - Geben Sie eine kompakte Zusammenfassung aus. (LZ1)
Lösung anzeigen
import java.util.Scanner;
public class KursPraxis {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Kursname: ");
String kursName = sc.nextLine().trim();
System.out.print("Format (Online/Praesenz): ");
String format = sc.nextLine().trim();
System.out.print("Dauer (1-10): ");
int dauer = sc.nextInt();
System.out.print("Preis (Beispiel): ");
double preis = sc.nextDouble();
if (dauer < 1 || dauer > 10) {
System.out.println("Ungültige Dauer. Bitte 1 bis 10 eingeben.");
sc.close();
return;
}
boolean istOnline = format.equalsIgnoreCase("Online");
double rabatt = (istOnline && dauer >= 3) ? 0.10 : 0.0;
double endpreis = preis * (1 - rabatt);
System.out.println("\nKurs: " + kursName +
" | Format: " + (istOnline ? "Online" : "Praesenz") +
" | Dauer: " + dauer + " Tage" +
" | Preis (Beispiel): " + endpreis + " €");
sc.close();
}
}Kurz-Takeaways
- Input → Process → Output als Standardstruktur.
- Validierung früh (Guard-Clauses) → weniger Fehlerfolgen.
- Klare Bedingungen + Schleifen + Berechnung = gut wartbare Logik.