web-dev-qa-db-fra.com

Expliquez cette ligne écrite en JAVA

Dans HACKERRANK, cette ligne de code se produit très fréquemment. Je pense que c'est pour sauter les espaces blancs, mais qu'est-ce que cela "\r\u2028\u2029\u0085" chose moyenne

 scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
10
Mayank Bist

Il est associé à la classe scanner:

Supposons que vous ayez une entrée de la console système

4
This is next line

int a  =scanner.nextInt();
String s = scanner.nextLine();

la valeur de a sera lue comme 4 et la valeur de s sera une chaîne vide car nextLine lit simplement ce qui est suivant sur la même ligne, et après cela, il passe à nextLine


pour le lire parfaitement, vous devez ajouter une fois de plus nextLine () comme ci-dessous

int a  =scanner.nextInt();
scanner.nextLine();
String s = scanner.nextLine();

pour s'assurer qu'il atteint la ligne suivante et saute tout s'il y a une anomalie dans l'entrée

scan.skip("(\r\n|[\n\r\u2028\u2029\u0085])?"); 

la ligne supérieure fonctionne parfaitement dans chaque système d'exploitation et environnement.

0
RohitKumar