Ein Zeichen aus der Tastatur einlesen

MinaM

Mitglied
Hallo Zusammen,

ich habe folgenden Code geschrieben um Strings oder Integerwerte von der Tastatur einzulesen.

Scanner tastaturLeser = new Scanner(System.in);
int var = tastaturLeser.nextInt() ;


Es gibt leider in der Klasse Scanner keine Methode nexChar() oder so die ein einzelnes Zeichen einließt.

Meine Frage: kann ich mit der Scannerklasse doch irgendwie ein Zeichen einlesen?
Oder muss ich das ganz anders angehen?
Vielleicht kann mir auch jemand sagen, was die einfachste Möglichkeit ist über die Tastatur
ein Zeichen einzulesen.


lgrüße
Mina
 
Hallo!


...der Scanner liest eine komplette Zeile.
Code:
 /**
  * 
  */
 package de.tutorials;
 
 import java.util.Scanner;
 
 /**
  * @author Tom
  *
  */
 public class ScannerExample {
 
 	/**
 	 * @param args
 	 */
 	public static void main(String[] args) {
 		Scanner scanner = new Scanner(System.in);
 		while(scanner.hasNext()){
 			String nextString= scanner.next();
 			if(nextString.equals("EXIT")){
 				break;
 			}
 			System.out.println(nextString);
 		}
 	}
 }

Gruß Tom
 
Hallo Tom,

danke für deine Antwort.
Das der Scanner einen String einlesen kann ist mir schon klar.
Ich hatte gefragt ob und wie er auch ein einzelnes Zeichen einlesen kann von
der Tastatur?
Falls es mit dem Scanner nicht geht, auf welche Weise würde es wohl dann am einfachsten
gehen?

liebe grüße
mina
 
was heisst ein einzelnes zeichen ? ein string kann alle formen annehmen und mit hilfe der wrapper klassen kannste den string auch in jeden primitiven datentyp casten
 
Ein String ist doch zusammengesetzt aus einzelnen char. Du kannst beispielsweise eine ganze "Line" einlesen und dann mit einer Schleife die char durchgehen.

Code:
String readLine = scanner.nextLine();
for (int i = 0; i < readLine.length(); i++) {
    char c = readLine.charAt(i);
}

oder du erweiterst die Klasse Scanner einfach um eine weitere Methode nextChar();
 
Zuletzt bearbeitet:
Hallo Zusammen,
vielleicht zeige ich hier mal das komplette Problem:
Code:
public static void main(String[] args) {
		
Scanner tastaturLeser = new Scanner(System.in);
System.out.print("Geben Sie die gewünschte Option an: ");

 char auswahl = .....? //hier habe ich das Problem, wie lese ich
                                   // ein Zeichen über die Tastatur ein?
                          
		
	switch(auswahl)
	{
	case 'A':  System.out.println("gewählte Option Abbrechen");
		      break;
	case 'S':  System.out.println("gewählte Option Speichern");
		      break;
	case 'L':  System.out.println("gewählte Option Löschen");
		      break;
	 default :  System.out.println("ungültige Opiton");
	     
		}
		
		
	}






{
 
Code:
public static void main(String[] args) throws Exception {
		
Scanner tastaturLeser = new Scanner(System.in);
System.out.print("Geben Sie die gewünschte Option an: ");

// Wenn du weißt es wird sicher nur ein Zeichen sein.
String line = tastaturLeser.nextLine();
if (line.length() != 1) {
    throw new IllegalArgumentException("Es wurde keine gültige Option angegeben");
}

char auswahl = line.charAt(0);
                          
		
	switch(auswahl) {
	case 'A':  System.out.println("gewählte Option Abbrechen");
		      break;
	case 'S':  System.out.println("gewählte Option Speichern");
		      break;
	case 'L':  System.out.println("gewählte Option Löschen");
		      break;
	 default :  System.out.println("ungültige Option");
	     
	}	
}
 
Zurück