Maison > Java > javaDidacticiel > le corps du texte

Comment Java gère-t-il les caractères de contrôle du terminal de retour arrière ?

PHPz
Libérer: 2023-08-30 10:53:07
avant
1334 Les gens l'ont consulté

Comment Java gère-t-il les caractères de contrôle du terminal de retour arrière ?

Le caractère de contrôle du terminal de retour arrière est un caractère spécial représenté par la notation "b". Il permet de déplacer le curseur d'un caractère vers l'arrière. Il appartient aux caractères d'échappement Java, qui sont des caractères utilisés avec une barre oblique inverse () qui ont une signification particulière pour le compilateur. Dans cet article, nous comprendrons et verrons l'implémentation pratique de la notation « b » via un exemple de programme Java.

Le caractère de contrôle du terminal Backspace fonctionne

Deux situations peuvent se produire lors de l'utilisation de ce caractère d'échappement. Premièrement, lorsque nous codons en dur le caractère de retour arrière dans une chaîne, et deuxièmement, lorsque nous utilisons le clavier pour la saisie.

En parlant du premier cas, Java lui-même ne gère pas le caractère de contrôle du terminal retour arrière. Il écrit simplement la valeur en octets du caractère dans le flux de sortie, puis c'est au terminal ou à la console de l'interpréter. Certains terminaux peuvent supprimer le caractère précédent, tandis que d'autres peuvent afficher des symboles étranges, ou quelques-uns peuvent l'ignorer.

Comprenons les points précédents à travers un exemple

Exemple

public class BackspaceExample {
   public static void main(String[] args) {
      System.out.println("Tutorialss\bPoint");
   }
}
Copier après la connexion

Sortie 1

TutorialssPoint
Copier après la connexion

Cependant, lorsque le code ci-dessus est compilé et exécuté sur VS Code, il produit les résultats suivants.

Sortie 2

TutorialsPoint
Copier après la connexion

Nous pouvons voir que les deux compilateurs produisent des résultats différents. Ainsi, il est prouvé que le caractère de contrôle du terminal retour arrière est interprété en fonction du terminal pour lequel il a été compilé.

Lors de la lecture des entrées utilisateur à l'aide de la classe "Scanner" ou de toute autre méthode de saisie, Java traite le caractère de retour arrière comme un caractère normal. Il ne l’interprète pas automatiquement comme une opération spéciale. En d'autres termes, lors de l'utilisation du symbole de retour arrière, la console affichera le caractère de retour arrière tel quel et le caractère précédent ne sera pas supprimé de l'entrée.

Prenons un exemple où nous collecterons les commentaires des utilisateurs pour mieux Comprenez

Exemple

import java.util.Scanner;
public class Input {
   public static void main(String []args) {
      Scanner read = new Scanner(System.in);
      System.out.println("Enter a String: ");
      while(read.hasNext()) { // runs till the last character
         String st = read.nextLine();
         System.out.println("String value: " + st);
      }
   }
}
Copier après la connexion

Sortie

Enter a String:
Shriansh\bKumar
String value: Shriansh\bKumar
Copier après la connexion

Comme mentionné précédemment, insérer des caractères de retour arrière dans les valeurs saisies par l'utilisateur n'est pas considéré comme une opération spéciale. Nous pouvons voir dans le résultat que le caractère « b » est imprimé tel quel. Dans le code ci-dessus, nous créons une instance de la classe « Scanner » et lisons et écrivons l'entrée fournie par l'utilisateur à l'aide d'une boucle while.

Conclusion

La conclusion de cet article est que nous ne pouvons pas compter sur le caractère de contrôle du terminal retour arrière pour supprimer des caractères d'une chaîne en Java car son fonctionnement peut varier en fonction du terminal ou du compilateur. De plus, Java traite le caractère de retour arrière comme un caractère normal lorsqu'il s'agit d'une saisie utilisateur. Si nous voulons supprimer des caractères d'une chaîne en Java, nous devons utiliser d'autres méthodes comme "substring", "replace" ou "StringBuilder" et "StringBuffer".

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:tutorialspoint.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