Programming lesson
Java-Grundlagen: Scanner, String.split und Formatierung – Ein Leitfaden für COP 3330
Lerne die essenziellen Java-Konzepte für die Hausaufgabe COP 3330: Scanner für Eingaben, String.split zur Verarbeitung von Daten und Formatierung von Ausgaben. Inklusive praxisnaher Beispiele.
Einführung in Java-Ein-/Ausgabe und String-Verarbeitung
In der heutigen Programmierwelt, in der Apps wie Spotify oder ChatGPT riesige Datenmengen verarbeiten, sind grundlegende Techniken wie die Eingabe mit Scanner und das Splitten von Strings unverzichtbar. Diese Lektion führt dich durch die Kernkonzepte, die du für die Hausaufgabe COP 3330 benötigst: Scanner-Klasse, String-Methoden und Ausgabeformatierung.
Die Scanner-Klasse: Benutzereingaben erfassen
Der Scanner ist Javas Werkzeug, um Benutzereingaben von der Konsole zu lesen. Stell dir vor, du entwickelst eine Chatbot-App – der Scanner ist dein Ohr für den Benutzer. So nutzt du ihn:
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
System.out.print("Gib deinen Namen ein: ");
String name = scanner.nextLine();
System.out.println("Hallo, " + name + "!");Für die Hausaufgabe wirst du mit nextLine() den Studentennamen und die ID einlesen. Achte darauf, dass nextLine() nach nextInt() manchmal ein Problem macht – verwende durchgängig nextLine() und parse bei Bedarf.
String.split: Daten in Teile zerlegen
Die split()-Methode zerteilt einen String anhand eines Trennzeichens in ein Array. Das ist praktisch, wenn du Daten wie "4587/4" in CRN und Credit Hours aufteilen willst. Beispiel:
String input = "4587/4";
String[] parts = input.split("/");
String crn = parts[0];
String hours = parts[1];
System.out.println("CRN: " + crn + ", Stunden: " + hours);In deiner Hausaufgabe liest du zwei Zeilen im Format "CRN/Stunden" ein. Mit split("/") erhältst du die Einzelteile. Vergiss nicht, die Stunden in einen int umzuwandeln, um damit zu rechnen.
Ausgabeformatierung mit System.out.printf
Um eine Rechnung wie in der Aufgabenstellung sauber zu formatieren, nutzt du System.out.printf oder String.format. Das ist wie das Layout einer Finanz-App – Zahlen müssen rechtsbündig und mit zwei Nachkommastellen erscheinen. Beispiel:
double price = 120.25;
int hours = 4;
double total = price * hours;
System.out.printf("%s %d $%.2f%n", "4587", hours, total);Erklärung: %s für String, %d für Ganzzahl, %.2f für Fließkommazahl mit 2 Dezimalstellen, %n für Zeilenumbruch. So erzeugst du die tabellarische Darstellung.
Beispiel: Zusammenbau für die Hausaufgabe
Hier ein Ausschnitt, der die Konzepte vereint – ohne die komplette Lösung zu verraten:
Scanner sc = new Scanner(System.in);
System.out.print("Enter the Student's Id: ");
String id = sc.nextLine();
System.out.print("Enter the Student's full name: ");
String name = sc.nextLine();
System.out.print("Enter crn/credit hours for the first class: ");
String class1 = sc.nextLine();
String[] parts1 = class1.split("/");
int crn1 = Integer.parseInt(parts1[0]);
int hours1 = Integer.parseInt(parts1[1]);
// Analog für die zweite Klasse
// Berechne Kosten: hours * 120.25
double cost1 = hours1 * 120.25;
// Addiere Health & id fees 35.00
// Ausgabe mit printf formatierenBeachte: Die Hausaufgabe verlangt eine bestimmte Ausgabe mit Sternchen und Leerzeichen. Übe das Ausrichten mit %-10s für linksbündig und %10s für rechtsbündig.
Häufige Fehler und Tipps
- Scanner-Fehler: Nach
nextInt()bleibt ein Newline-Zeichen. VerwendenextLine()durchgehend und parse mitInteger.parseInt(). - Split vergessen: Das Trennzeichen ist ein Regex – bei Punkten oder anderen Sonderzeichen musst du escapen, z.B.
split("\\."). - Formatierung: Teste die Ausgabe mit verschiedenen Werten, um sicherzustellen, dass die Kommastellen stimmen.
Warum diese Techniken wichtig sind
In Zeiten von KI-Tools wie Copilot oder ChatGPT ist es verlockend, Code generieren zu lassen. Aber das Verständnis von Scanner, split und Formatierung ist die Basis für jede Java-Entwicklung – von Android-Apps bis zu Backend-Systemen. Wer diese Grundlagen beherrscht, kann später komplexere Aufgaben wie das Parsen von CSV-Dateien oder die Verarbeitung von JSON-APIs meistern.
Viel Erfolg bei deiner Hausaufgabe! Denk daran: Übung macht den Meister. Probiere die Beispiele selbst aus und variiere die Eingaben.