Ich möchte zwei Parameter, eine Zahl und eine Zeichenfolge, als Standardeingabe übergeben.
Die zu verwendende Methode ist nextLine (): Eine Methode, mit der die Eingabe für eine Zeile bis zum Zeilenumbruch abgerufen werden kann nextInt (): Eine Methode, die eine int-Typennummer erhalten kann Es gibt zwei Arten, Die Reihenfolge ist wichtig.
Wenn nextLine () an erster Stelle steht, wird die Eingabe zweimal akzeptiert.
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String numStr = sc.nextLine();
int num = sc.nextInt();
sc.close();
System.out.println(num);
System.out.println(numStr);
}
}
Wenn nextLine () später ist, wird die Eingabe nur einmal akzeptiert. numStr enthält leere Zeichen.
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
String numStr = sc.nextLine();
sc.close();
System.out.println(num);
System.out.println(numStr);
}
}
Dies liegt daran, dass das Zeilenvorschubzeichen beim Lesen eines numerischen Werts mit nextInt erhalten bleibt. int+enter(\n) Das verbleibende Zeilenvorschubzeichen wurde von nextLine gelesen.
Als eine andere Lösung als die Änderung der Reihenfolge, int num = sc.nextInt(); sc.nextLine (); ← Laden Sie hier einen Zeilenumbruch. (Keine Notwendigkeit, in Variablen zu speichern) String numStr = sc.nextLine();
es gibt.