Unterschiedlicher Java-Scanner zur Eingabe unterschiedlicher Typen

Stellen Sie sich folgendes Scanario vor: Ich habe ein Programm, das nach einer Ganzzahleingabe fragt, gefolgt von einer Zeichenfolgeeingabe.

int age=0;
String name;
Scanner sc = new Scanner(System.in);

System.out.print("Enter Age: ");
age = sc.nextInt();
System.out.print("Enter Name: ");
name= sc.nextLine();

Mit den Aobe-Codes hatte ich keine Chance, den Namen einzugeben. Normalerweise deklariere ich 2 Scannerobjekte wie folgt:

int age=0;
String name;
Scanner sc = new Scanner(System.in);
Scanner sc2 = new Scanner(System.in);    //2nd Scanner object

System.out.print("Enter Age: ");
age = sc.nextInt();
System.out.print("Enter Name: ");
name= sc2.nextLine();                    //Using 2nd Scanner Object

Meine Frage ist: Müssen mehrere Scannerobjekte deklariert werden, um Eingaben unterschiedlichen Typs zu akzeptieren? Mache ich den richtigen Weg als aobve?

Ich habe diese Frage schon seit Jahren im Kopf. (Einige Fragen in SO erwähnen mehrere Scanner, aber ihre Fragen verwendeten nur ein Scannerobjekt, daher stelle ich dies heute.)

Antworten auf die Frage(5)

Ihre Antwort auf die Frage