Maison > Java > javaDidacticiel > Comment terminer la saisie en appuyant sur Entrée lors de la saisie en Java

Comment terminer la saisie en appuyant sur Entrée lors de la saisie en Java

WBOY
Libérer: 2023-04-19 14:40:16
avant
3851 Les gens l'ont consulté

Utilisez Entrée pour terminer la saisie lors de la saisie

Lors de l'écriture d'un programme Java, nous souhaitons terminer la saisie de cette ligne en entrant Entrée. C'est un problème très courant, mais si nous utilisons Scanner, alors lorsqu'il est appelé via nextInt(. ), la saisie ne s'arrêtera pas, une ligne vierge sera imprimée, puis attendez que vous continuiez à saisir le numéro suivant.

Solution

Nous pouvons configurer deux scanners. Le premier lit les données en unités de ligne, ce qui équivaut à utiliser le retour chariot (entrée) comme terminateur,

puis transmet la chaîne lue dans le troisième deux scanners. , puis pour le traitement

ArrayList<Integer> arr = new ArrayList() ;
System.out.println("Enter a space separated list of numbers:");
Scanner in = new Scanner(System.in);
  String line = in.nextLine();
  Scanner in2 = new Scanner(line);
  
  while(in2.hasNextInt()){
     arr.add(in2.nextInt());
 }
  System.out.println("The numbers were:"+arr.toString());
Copier après la connexion

Il vous suffit de remplacer la fonction nextInt ou hasnextint par le nom de la fonction dont vous avez besoin pour obtenir différentes entrées, mais cela se termine par un retour chariot (entrée).

Retour chariot Java pour terminer la saisie d'une ligne

Question

Comment terminer la saisie en appuyant sur Entrée lors de la saisie en Java

J'ai trouvé cette méthode dans le forum :

Scanner s =new Scanner(System.in);
String str="";
do {
	str=s.nextLine();
	if(s.hasNextLine())
		break;
	}while(true);
System.out.println(str);
Copier après la connexion

Après l'entraînement, cette méthode ne fonctionne pas :

Comment terminer la saisie en appuyant sur Entrée lors de la saisie en Java

Il faut deux retours chariot pour terminer la saisie.

J'ai trouvé cette solution

Scanner s= new Scanner(System.in);
String str=s.nextLine();
Scanner st=new Scanner(str);
ArrayList a =new ArrayList();
while(st.hasNextInt()) 
	  a.add(st.nextInt());
System.out.println(a);
Copier après la connexion

Comment terminer la saisie en appuyant sur Entrée lors de la saisie en Java

Utiliser une chaîne comme flux d'entrée, des espaces comme séparateurs :

Code source :

Comment terminer la saisie en appuyant sur Entrée lors de la saisie en Java

cela appelle le constructeur suivant :

Comment terminer la saisie en appuyant sur Entrée lors de la saisie en Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal