Je voudrais passer deux paramètres, un nombre et une chaîne, comme entrée standard.
La méthode à utiliser est nextLine (): Une méthode qui peut obtenir l'entrée pour une ligne jusqu'au saut de ligne nextInt (): Une méthode qui peut obtenir un nombre de type int Il existe deux types, L'ordre compte.
Si nextLine () vient en premier, il acceptera l'entrée deux fois.
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);
}
}
Si nextLine () est postérieur, l'entrée ne sera acceptée qu'une seule fois. numStr contient des caractères vides.
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);
}
}
C'est parce que le caractère de saut de ligne reste lors de la lecture d'une valeur numérique avec nextInt. int+enter(\n) Le caractère de saut de ligne restant a été lu par nextLine.
En tant que solution autre que de modifier l'ordre, int num = sc.nextInt(); sc.nextLine (); ← Chargez un saut de ligne ici. (Pas besoin de stocker dans les variables) String numStr = sc.nextLine();
il y a.