Maison  >  Article  >  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
WBOYavant
2024-02-09 11:54:301113parcourir

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"));

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;
            }
        }
    }
}

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer