Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
programmierung:scanner_object [2024/08/19 10:45] – created sweprogrammierung:scanner_object [2025/12/20 14:53] (current) – external edit 127.0.0.1
Line 1: Line 1:
-<code java| download>+~~REVEAL~~ 
 + 
 +====== Dateneingabe per Scanner ====== 
 +Der ''Scanner'' in Java ist ein vielseitiges Werkzeug, das es ermöglicht, verschiedene Datentypen von der Konsole einzulesen.  
 + 
 +===== Steps zur Benutzung des Scanner ===== 
 +==== Importieren des Scanner-Pakets ==== 
 +<code 
 +import java.util.Scanner; 
 + 
 +</code> 
 +==== Erstellen eines Scanner-Objektes ==== 
 +<code > 
 +Scanner scanner = new Scanner(System.in); 
 + 
 +</code> 
 +==== Lesen von Eingaben ==== 
 + 
 +===  Eingabe eines String === 
 +<code > 
 +String line = scanner.nextLine(); 
 + 
 +</code> 
 + 
 +Um eine Zeile Text einzulesen, verwendet man die Methode ''nextLine()''. Diese Methode liest die gesamte Zeile bis zum Zeilenumbruch ein und gibt sie als ''String'' zurück. Wenn man nur ein einzelnes Wort einlesen möchte, verwendet man die Methode ''next()''. Diese Methode liest das nächste Token (Wort) bis zum nächsten Leerzeichen oder Zeilenumbruch ein. 
 + 
 +==== Eingabe einer Ganzzahl==== 
 +<code > 
 +int number = scanner.nextInt(); 
 + 
 +</code> 
 + 
 +Für das Einlesen von ganzen Zahlen verwendet man die Methode ''nextInt()''. Diese Methode liest die nächste Ganzzahl aus der Eingabe und gibt sie als ''int'' zurück. 
 + 
 +==== Eingabe einer Gleitkommazahl==== 
 + 
 +<code > 
 +double decimal = scanner.nextDouble(); 
 + 
 +</code> 
 +Ähnlich funktioniert die Methode ''nextDouble()'', die eine Gleitkommazahl (''double'') einliest und zurückgibt. 
 + 
 + 
 +===== Beispielcode ===== 
 + 
 +<code java [enable_line_numbers="true",enable_keyword_links="false ] ScannerExample.java>
 import java.util.Scanner; import java.util.Scanner;
  
Line 5: Line 50:
     public static void main(String[] args) {     public static void main(String[] args) {
         // Erstelle ein Scanner-Objekt, um Eingaben von der Konsole zu lesen         // Erstelle ein Scanner-Objekt, um Eingaben von der Konsole zu lesen
-        Scanner scanner = new Scanner(System.in);+        Scanner sc = new Scanner(System.in);
  
         // Fordere den Benutzer auf, eine Zeile Text einzugeben         // Fordere den Benutzer auf, eine Zeile Text einzugeben
         System.out.println("Bitte geben Sie eine Zeile Text ein:");         System.out.println("Bitte geben Sie eine Zeile Text ein:");
         // Liest eine ganze Zeile Text (String)         // Liest eine ganze Zeile Text (String)
-        String line = scanner.nextLine();+        String line = sc.nextLine();
         System.out.println("Sie haben eingegeben: " + line);         System.out.println("Sie haben eingegeben: " + line);
  
Line 16: Line 61:
         System.out.println("Bitte geben Sie ein Wort ein:");         System.out.println("Bitte geben Sie ein Wort ein:");
         // Liest ein einzelnes Wort (String)         // Liest ein einzelnes Wort (String)
-        String word = scanner.next();+        String word = sc.next();
         System.out.println("Sie haben eingegeben: " + word);         System.out.println("Sie haben eingegeben: " + word);
  
         // Fordere den Benutzer auf, eine ganze Zahl einzugeben         // Fordere den Benutzer auf, eine ganze Zahl einzugeben
         System.out.println("Bitte geben Sie eine ganze Zahl ein:");         System.out.println("Bitte geben Sie eine ganze Zahl ein:");
-        // Überprüft, ob die Eingabe eine ganze Zahl (int) ist +        // Liest eine ganze Zahl (int) 
-        if (scanner.hasNextInt()) { +        int number = sc.nextInt(); 
-            int number = scanner.nextInt(); +        System.out.println("Sie haben eingegeben: " + number);
-            System.out.println("Sie haben eingegeben: " + number); +
-        } else { +
-            System.out.println("Das ist keine gültige ganze Zahl."); +
-            scanner.next(); // Ungültige Eingabe überspringen +
-        }+
  
         // Fordere den Benutzer auf, eine Gleitkommazahl einzugeben         // Fordere den Benutzer auf, eine Gleitkommazahl einzugeben
         System.out.println("Bitte geben Sie eine Gleitkommazahl ein:");         System.out.println("Bitte geben Sie eine Gleitkommazahl ein:");
-        // Überprüft, ob die Eingabe eine Gleitkommazahl (double) ist +        // Liest eine Gleitkommazahl (double) 
-        if (scanner.hasNextDouble()) { +        double decimal = sc.nextDouble(); 
-            double decimal = scanner.nextDouble(); +        System.out.println("Sie haben eingegeben: " + decimal);
-            System.out.println("Sie haben eingegeben: " + decimal); +
-        } else { +
-            System.out.println("Das ist keine gültige Gleitkommazahl."); +
-            scanner.next(); // Ungültige Eingabe überspringen +
-        }+
  
         // Schließe den Scanner         // Schließe den Scanner
-        scanner.close();+        sc.close();
     }     }
 } }
 +
  
 </code> </code>