Zuhause Persönliche Finanzen Wie man eine Eingabe mit Javas Scanner Klasse bekommt - Dummies

Wie man eine Eingabe mit Javas Scanner Klasse bekommt - Dummies

Inhaltsverzeichnis:

Video: Notendurchschnitt berechnen - Einfache Java Programme 1 ● Gehe auf SIMPLECLUB.DE/GO 2024

Video: Notendurchschnitt berechnen - Einfache Java Programme 1 ● Gehe auf SIMPLECLUB.DE/GO 2024
Anonim

Bis Java 1. 5 war es nicht einfach, Texteingaben vom Benutzer in einem konsolenbasierten Java-Programm zu erhalten. Aber mit Java 1. 5 wurde eine neue Klasse - genannt Scanner - eingeführt, um die Aufgabe zu vereinfachen, Eingaben vom Benutzer zu erhalten. Hier verwenden Sie die Scanner -Klasse, um einfache Eingabewerte vom Benutzer zu erhalten. Die Techniken, die ich hier vorstelle, werden in vielen der im Rest dieses Buches gezeigten Programme verwendet.

Wenn Sie eine ältere Version von Java verwenden, sollten Sie dies immer noch lesen, da viele Programme die Scanner -Klasse verwenden.

Das folgende einfache Programm verwendet die Scanner -Klasse, um einen ganzzahligen Wert vom Benutzer zu lesen. Anschließend zeigt es den Wert an der Konsole an, um zu überprüfen, ob das Programm den vom Benutzer eingegebenen Wert erhalten hat. Hier ein Beispiel für das Konsolenfenster für dieses Programm:

Geben Sie eine ganze Zahl ein: 5

Sie haben 5 eingegeben.

Das Programm beginnt mit der Anzeige der Meldung Geben Sie eine ganze Zahl ein: in der ersten Zeile. Dann wartet es darauf, dass Sie eine Nummer eingeben. Wenn Sie eine Nummer eingeben (z. B. 5) und die Eingabetaste drücken, wird in der zweiten Zeile die Bestätigungsmeldung ( Sie haben 5 eingegeben.) Angezeigt.

importiert Java. Nutz. Scanner; @@ ra1

public class ScannerApp

{

statisch Scanner sc = neuer Scanner (System. In); @@ ra6

public static void main (String [] Argumente)

{

System. aus. print ("Geben Sie eine ganze Zahl ein:"); @@ ra10

int x = sc. nextInt (); @@ ra11

System. aus. println ("Sie haben" + x + "eingegeben.); @@ ra12

}

}

Importieren der Scanner-Klasse in Java

Bevor Sie die Scanner -Klasse in einem Programm verwenden können, müssen Sie sie importieren. Dazu codieren Sie am Anfang des Programms eine Anweisung import vor der Klassendeklaration:

Java importieren. Nutz. Scanner;

Beachten Sie, dass java und util nicht groß geschrieben werden, aber Scanner ist.

Wenn Sie andere Klassen im Java verwenden. util package, können Sie das gesamte Paket importieren, indem Sie die Anweisung import wie folgt codieren:

java importieren. Nutz. *;

Deklarieren und Erstellen eines Scanner-Objekts in Java

Bevor Sie die Scanner -Klasse zum Lesen von Eingaben von der Konsole verwenden können, müssen Sie eine Scanner -Variable deklarieren und eine Instanz erstellen der Scanner -Klasse. Sie können die Variable Scanner als Klassenvariable erstellen und das Scanner -Objekt in der Klassenvariablen-Initialisierung erstellen (siehe Zeile 6 des obigen Programms):

static Scanner sc = neuer Scanner (System. in);

Auf diese Weise können Sie die Variable sc in jeder Methode in der Klasse verwenden.

Um ein Scanner -Objekt zu erstellen, verwenden Sie das Schlüsselwort new , gefolgt von einem Aufruf des Konstruktors der Scanner -Klasse. Beachten Sie, dass für die Scanner -Klasse ein Parameter erforderlich ist, der den -Eingabestrom angibt, von dem die Eingabe stammt. Sie können System verwenden. in hier, um die Eingabe der Standardtastaturkonsole anzugeben.

Eingabe erhalten

Um einen Eingabewert vom Benutzer zu lesen, können Sie eine der unten aufgeführten Methoden der Scanner -Klasse verwenden. Wie Sie sehen, hat der primitive Datentyp eine separate Methode.

Scanner-Klassenmethoden, die Eingabewerte erhalten
Methode Erläuterung
boolean nextBoolean () Liest einen booleschen -Wert vom Benutzer.
byte nextByte () Liest einen Byte Wert vom Benutzer.
double nextDouble () Liest einen double Wert vom Benutzer.
float nextFloat () Liest einen float Wert vom Benutzer.
int nextInt () Liest einen int Wert vom Benutzer.
String nextLine () Liest einen String Wert vom Benutzer.
lang nextLong () Liest einen langen Wert vom Benutzer.
short nextShort () Liest einen kurzen Wert vom Benutzer.

Beachten Sie in der ersten Spalte der Tabelle, dass jede Methodenauflistung mit dem Typ des Werts beginnt, der von der Methode zurückgegeben wird. Die nextInt -Methode gibt beispielsweise einen Wert int zurück. Beachten Sie außerdem, dass jede Methode mit einem leeren Satz von Klammern endet. Das bedeutet, dass diese Methoden keine Parameter benötigen. Wenn eine Methode Parameter erfordert, werden die Parameter in diesen Klammern aufgeführt.

Da diese Methoden einen Wert vom Benutzer lesen und den Wert zurückgeben, verwenden Sie diese häufig in Anweisungen, die den Wert einer Variablen zuweisen. Zeile 11 liest beispielsweise ein int und ordnet es einer Variablen mit dem Namen x zu.

Wenn die Methode nextInt ausgeführt wird, wartet das Programm darauf, dass der Benutzer einen Wert in das Konsolenfenster eingibt. Um den Benutzer wissen zu lassen, welche Art von Eingabe das Programm erwartet, sollten Sie normalerweise das -System aufrufen. aus. Methode drucken, bevor Sie eine Scanner -Methode aufrufen, um eine Eingabe zu erhalten. Zeile 10 ruft System auf. aus. drucken, um die Nachricht anzuzeigen Geben Sie eine ganze Zahl ein: in der Konsole. Auf diese Weise weiß der Benutzer, dass das Programm auf eine Eingabe wartet.

Wenn der Benutzer einen Wert eingibt, der nicht in den richtigen Typ konvertiert werden kann, stürzt das Programm ab, was bedeutet, dass es abrupt beendet wird. Wenn das Programm abstürzt, zeigt es eine kryptische Fehlermeldung an, die angibt, was den Fehler verursacht hat. Wenn Sie z. B. drei anstelle einer tatsächlichen Zahl eingeben, sieht das Konsolenfenster etwa so aus:

Geben Sie eine Ganzzahl ein: drei Ausnahme im Thread "main" java. Nutz. InputMismatchException

bei Java. Nutz. Scanner. throwFor (Scanner. java: 819)

bei Java. Nutz. Scanner. nächste (Scanner. Java: 1431)

bei Java. Nutz. Scanner. nextInt (Scanner. java: 2040)

bei Java. Nutz. Scanner. nextInt (Scanner. java: 2000)

bei ScannerApp.main (ScannerApp. java: 11)

Diese Nachricht zeigt an, dass eine Ausnahme namens InputMismatchException aufgetreten ist, was bedeutet, dass das Programm eine ganze Zahl erwartet, aber stattdessen etwas anderes erhalten hat… Wenn Sie nicht wissen, wie Sie Ausnahmen wie diese vorsehen können, damit das Programm eine freundlichere Nachricht anzeigen kann und dem Benutzer eine weitere Möglichkeit gibt, einen korrekten Wert einzugeben, müssen Sie sich damit abfinden, dass der Benutzer falsche Daten eingibt. Ihr Programm stürzt ungünstig ab.

Sie können verhindern, dass nextInt und ähnliche Methoden mit falschen Eingabedaten abstürzen, indem Sie zunächst eine der hier aufgelisteten Methoden verwenden, um die nächste Eingabe zu testen und sicherzustellen, dass sie gültig ist.

Methoden der Scannerklasse, die auf gültige Eingabewerte prüfen
Methode Erläuterung
boolean hasNextBoolean () Gibt wahr zurück, wenn der nächste vom Benutzer eingegebene Wert ein gültiger Wert ist < Boolescher Wert . boolean hasNextByte ()
Gibt wahr zurück, wenn der nächste vom Benutzer eingegebene Wert ein gültiger Wert Byte ist. boolean hasNextDouble ()
Gibt wahr zurück, wenn der nächste vom Benutzer eingegebene Wert ein gültiger Wert double ist. boolean hasNextFloat ()
Gibt wahr zurück, wenn der nächste vom Benutzer eingegebene Wert ein gültiger Wert float ist. boolean hasNextInt ()
Gibt wahr zurück, wenn der nächste vom Benutzer eingegebene Wert ein gültiger Wert int ist. boolean hasNextLong ()
Gibt wahr zurück, wenn der nächste vom Benutzer eingegebene Wert ein gültiger langer Wert ist. boolean hasNextShort ()
Gibt wahr zurück, wenn der nächste vom Benutzer eingegebene Wert ein gültiger kurzer Wert ist.
Wie man eine Eingabe mit Javas Scanner Klasse bekommt - Dummies

Die Wahl des Herausgebers

Bearbeiten in Photoshop Elements 10 Schnellfoto-Bearbeitungsmodus - Schnuller

Bearbeiten in Photoshop Elements 10 Schnellfoto-Bearbeitungsmodus - Schnuller

Schneller Foto-Bearbeitungsmodus ist eine abgespeckte Version des Modus "Full Photo Edit", der einfach grundlegende Fixingtools bereitstellt und mit einigen einzigartigen Funktionen aufwartet, z. B. eine Vorher-Nachher-Vorschau Ihres Bildes. Hier ist ein Schritt-für-Schritt-Workflow, den Sie im Schnellfoto-Bearbeitungsmodus verwenden können, um Ihre Fotos zu reparieren:

Zum Optimieren von Photoshop Elements-Bildern mit Fotoeffekten - Dummies

Zum Optimieren von Photoshop Elements-Bildern mit Fotoeffekten - Dummies

Fotoeffekte in Photoshop Elements 11 funktionieren wie Anwenden von Filtern; Das Dialogfeld "Filtergalerie" bietet Ihnen zahlreiche Optionen zum Anwenden eines Filters. Das geführte Bedienfeld bietet Ihnen Filtereffekte und führt Sie dann durch die Schritte zum Anpassen von Helligkeitswerte, Ändern von Farbton und Sättigung und Durchführen weiterer Anpassungen zum Vervollkommnen des Ergebnisses. Sie ...

Eingeben des Absatztyps in Photoshop Elements 11 - Dummies

Eingeben des Absatztyps in Photoshop Elements 11 - Dummies

Absatztyp in Photoshop Elements 11 ist ähnlich zu dem Text, den Sie in ein Textverarbeitungsprogramm eingeben, mit der Ausnahme, dass er in einem Textfeld oder einem Begrenzungsrahmen enthalten ist. Wenn Sie größere Textabschnitte haben, die Sie in ein Bild eingeben möchten, ist die Eingabe des Textes als Absatztyp die praktischste Option. Während ...

Die Wahl des Herausgebers

PHP-Anweisungen - Dummys

PHP-Anweisungen - Dummys

PHP ist eine Skriptsprache, die speziell für die Verwendung im Internet entwickelt wurde. Es enthält Funktionen, die Sie bei der Programmierung der Aufgaben unterstützen, die für die Entwicklung dynamischer Webanwendungen erforderlich sind. Diese Tabelle gibt einen kurzen Überblick über einige der Anweisungen, die Sie häufig verwenden werden: Anweisung Beschreibung array ("key" => "value", ...); Casts a ...

PHP-Schablonen-Systeme - Schablonen-Systeme

PHP-Schablonen-Systeme - Schablonen-Systeme

Können die Menge an Arbeit reduzieren, die Sie für die Erstellung einer Website in PHP benötigen. Wenn Sie eine Website erstellen, verwenden Sie häufig das gleiche Layout für die gesamte Website. Sie haben eine obere Portion, vielleicht mit einem Menü; ein Hauptinhaltsbereich; und ein unterer Teil, vielleicht mit Links oder ...

Make MySQL Datenbank Änderungen mit den ALTER Query - Dummies

Make MySQL Datenbank Änderungen mit den ALTER Query - Dummies

Die ALTER Query wird verwendet, um die Struktur von eine MySQL-Datenbank. In dieser Liste wird die Syntax für die Änderungen angezeigt, die Sie wahrscheinlich vornehmen möchten: ADD-Spaltenbezeichnung ALTER-Spaltenname SET-DEFAULT-Wert ALTER-Spaltenname DROP DEFAULT CHANGE-Spaltenname newcolname-Definition DROP-Spaltenname MODIFY-Spaltenname RENAME newtablename

Die Wahl des Herausgebers

Hochgeschwindigkeitsdatencaching mit NoSQL - Dummies

Hochgeschwindigkeitsdatencaching mit NoSQL - Dummies

Mit NoSQL haben Sie Hochgeschwindigkeits-Caching. Stellen Sie sich vor, Sie sind Bankangestellte und arbeiten mit drei anderen Kollegen zusammen. Jeder hat eine Reihe von Leuten, die bedient werden sollen. Einer der Kunden bleibt jedoch in der Schlange, um zu fragen, ob sein Scheck bereits eingelöst und der Betrag seinem Konto gutgeschrieben wurde. Wenn Sie ...

Wie man Einsichten aus Big Data kommuniziert - Dummies

Wie man Einsichten aus Big Data kommuniziert - Dummies

Big Data kann helfen, Einblicke zu gewinnen. Unternehmen gewinnen Wettbewerbsvorteile, wenn die richtigen Informationen zur richtigen Zeit an die richtigen Leute geliefert werden. Dies bedeutet, Erkenntnisse und Informationen aus Daten zu extrahieren und sie Entscheidungsträgern auf eine Weise zu vermitteln, die sie leicht verstehen. Schließlich sind Menschen weniger wahrscheinlich zu handeln, wenn sie ...

Zookeeper und HBase Reliability - dummies

Zookeeper und HBase Reliability - dummies

Zookeeper ist ein verteiltes Cluster von Servern, das gemeinsam zuverlässige Koordinations- und Synchronisationsdienste für Cluster-Anwendungen bereitstellt. .. Zugegeben, der Name "Zookeeper" mag auf den ersten Blick eine seltsame Wahl sein, aber wenn Sie verstehen, was es für einen HBase-Cluster tut, können Sie die Logik dahinter sehen. Beim Erstellen und Debuggen von verteilten Anwendungen ...