[Java] Einfache Eingabe (Einlesen von Daten)

Für Einsteiger in die Programmiersprache Java ist es sehr schwer eine einfache Eingabe zu realisieren. Dort bieten andere Sprachen wie z.B C++ deutlich einfachere Methoden an.
Jeodch ist es seit Java 5 auch eine relativ einfache Möglichkeit geworden Daten über die Kommandozeile einzulesen.
Hierfür wird ledeglich das Package java.util.Scanner benötigt

	import java.util.Scanner

Mit diesem Import kann man nun eine Instanz eines Scanners erzeugen, mit dem man dann relativ einfach Daten von der Kommandozeile empfangen kann.

	Scanner scanner = new Scanner(System.in);

Durch diese Zeile erzeugen wir einen neuen Scanner, der auf Eingaben wartet.

	int zahl;
	zahl = scanner.nextInt();

Mit diesem Code wird der Int Variable zahl der eingegebe Wert zugewiesen. Mit dem Scanner Objekt kann man natürlich auch weitere Datentypen einlesen.

	String name;
	name = scanner.next();

Die Methode next() liest Beispielsweise ein einzelnes Wort ein. Die Eingabe würde nach einem Leerzeichen ignoriert werden. So würde in der Variable name bei der Eingabe von “Niklas Busch“ nur der String “Niklas” landen.

	String satz;
	satz = scanner.nextLine();

Anders ist das bei der oben aufgeführten Methode nextLine() . Mit dieser kann man verhindern, dass die Eingabe nach einem Leerzeichen ignoriert wird. Somit kann man mit diesem Befehl ganze Sätze einlesen.



import java.util.Scanner;

public class main {

	public static void main(String[] args) {

		Scanner scanner = new Scanner(System.in);

		int zahl;
		zahl = scanner.nextInt();
		System.out.println(zahl);

		String name;
		name = scanner.next();
		System.out.println(name);

		String satz;
		satz = scanner.newLine();
		System.out.println(satz);
		scanner.close();
	}

}

Dies sind die besprochenen Beispiele in einem vollständigen Code. Der Befehl scanner.close(); ist dafür da, dass der Scanner am Ende der Eingabe auch wieder geschlossen wird.
Falls weitere Fragen bestehen freue ich mich über eine Email :)