首頁 >Java >java教程 >Java如何處理退格終端控製字元?

Java如何處理退格終端控製字元?

PHPz
PHPz轉載
2023-08-30 10:53:071370瀏覽

Java如何處理退格終端控製字元?

退格終端控製字元是用「\b」表示法表示的特殊字元。它用於將遊標向後移動一個字元。它屬於 Java 轉義字符,這些字符與反斜線 (\) 一起使用,對編譯器具有特殊含義。在本文中,我們將透過Java範例程式來了解並看到‘\b’表示法的實際實作。

退格終端控製字元的工作

使用此轉義字元時可能會出現兩種情況。首先,當我們將退格字元硬編碼為字串時,第二次,當我們使用鍵盤輸入時。

談到第一種情況,Java本身並不會處理退格終端控製字元。它僅將字元的位元組值寫入輸出流,然後取決於終端機或控制台如何解釋它。有些終端可能會刪除前一個字符,而其他終端可能會顯示奇怪的符號,或者少數終端可能會忽略它。

讓我們透過一個例子來理解前面的要點

範例

public class BackspaceExample {
   public static void main(String[] args) {
      System.out.println("Tutorialss\bPoint");
   }
}

輸出1

TutorialssPoint

但是,當上面的程式碼在 VS Code 上編譯並執行時,它產生了以下結果。

輸出2

TutorialsPoint

我們可以看到兩個編譯器產生了不同的結果。因此,證明了退格終端控製字元是根據編譯它的終端來解釋的。

當使用「Scanner」類別或任何其他輸入方法讀取使用者輸入時,Java 將退格字元視為常規字元。它不會自動將其解釋為特殊操作。換句話說,當使用退格符號時,控制台將按原樣顯示退格字符,並且不會從輸入中刪除前一個字符。

讓我們舉一個例子,我們將收集使用者的輸入以更好地 理解

範例

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

輸出

Enter a String:
Shriansh\bKumar
String value: Shriansh\bKumar

如前所述,將退格字元放入使用者輸入值中不會被視為特殊操作。我們可以在輸出中看到“\b”字元按原樣列印。在上面的程式碼中,我們建立了「Scanner」類別的實例,並使用 while 循環讀取和寫入使用者提供的輸入。

結論

本文的結論是,我們不能依靠退格終端控製字符來刪除 Java 中字符串的任何字符,因為它的工作方式可能會根據終端或編譯器的不同而有所不同。此外,當涉及使用者輸入時,Java 將退格字元視為常規字元。如果我們想在Java中從字串中刪除字符,我們應該使用其他方法,例如“substring”,“replace”或“StringBuilder”和“StringBuffer”。

以上是Java如何處理退格終端控製字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除