Maison > Java > Je ne sais pas comment résoudre le problème de nextLine et le faire fonctionner

Je ne sais pas comment résoudre le problème de nextLine et le faire fonctionner

WBOY
Libérer: 2024-02-09 11:54:30
avant
1161 Les gens l'ont consulté

Au cours du processus de développement, nous rencontrons souvent divers problèmes, et parfois même des problèmes apparemment simples nous laissent perplexes. Par exemple, vous pouvez rencontrer un problème qui vous dérange, à savoir comment résoudre le problème de nextLine et le faire fonctionner correctement. Ne vous inquiétez pas, l'éditeur PHP Xinyi est là pour vous fournir quelques méthodes et techniques pour résoudre ce problème, dans l'espoir de vous aider à résoudre ce problème. Ici, nous jetons un coup d'oeil!

Contenu des questions

do {
        System.out.println("write in format \"firstname lastname\"");
            
        //just want to scan a sentence with spaces
        String[] tempArr = sc.nextLine().split(" ");
            
        System.out.println("Hello " + tempArr[0]);

        System.out.println("Do you want to do it again Y/N");

    }while(sc.next().equals("Y"));
Copier après la connexion

Je ne sais pas comment empêcher le scanner de ligne suivant de numériser les blancs après la première itération

Je veux que la boucle s'exécute jusqu'à ce que quelque chose d'autre que "y" soit saisi.

Solution de contournement

Je n'utiliserais pas do...while 循环。您可以通过创建一个无限循环来轻松地做到这一点,如果答案不是“y”,该循环就会停止。我假设您想循环用户输入 y pour cela et j'arrêterais autre chose. Si c'est l'inverse, inversez simplement la valeur booléenne dans l'instruction if. Essayez quelque chose comme ceci :

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (true) {
            System.out.println("write in format \"firstname lastname\"");
            String[] tempArr = sc.nextLine().split(" ");
            System.out.println("Hello " + tempArr[0]);
            System.out.println("Do you want to do it again Y/N");
            String answer = sc.nextLine();
            if (!answer.equalsIgnoreCase("Y")) {
                break;
            }
        }
    }
}
Copier après la connexion

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!

source:stackoverflow.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