首頁 > 軟體

Java利用StringBuffer替換特殊字元的方法實現

2021-04-14 13:01:18

在本範例中為保證學生輸入的 Java 檔名合格,將利用 StringBuffer 類實現對 Java 檔名中的特殊符號進行替換,包括將中文狀態下的「。」和全形狀態下的「.」替換為英文狀態下的「.」。

在本例實現過程中主要使用了 StringBuffer 類的字元查詢和替換方法,實現程式碼如下:

import java.util.Scanner;
public class test2 {
    public static void main(String[] args) {
        System.out.println("請輸入你要提交的Java檔名稱:");
        Scanner input = new Scanner(System.in);
        String fileName = input.next(); // 獲取使用者輸入的 java 檔名稱
        // 定義StringBuffer物件,字串內容為使用者輸入的java檔名稱
        StringBuffer file = new StringBuffer(fileName);
        // 獲取英文狀態下的"."是否存在
        int index = file.lastIndexOf(".");
        // 判斷中文狀態下的"。"和"."是否存在
        int errIndex1 = file.lastIndexOf("。");
        int errIndex2 = file.lastIndexOf(".");
        if (index != -1 && file.substring(index + 1, file.length()).equals("java")) {
            System.out.println("作業提交成功!");
        } else if (errIndex1 != -1 && file.substring(errIndex1 + 1, file.length()).equals("java")) {
            // 將中文狀態下的"。"改為英文狀態下的"."
            file.setCharAt(errIndex1, '.');
            System.out.println("你的書寫有誤,已改正為:" + file + "rn提交成功!");
        } else if (errIndex2 != -1 && file.substring(errIndex2 + 1, file.length()).equals("java")) {
            // 將全形狀態下的"."改為英文狀態下的"."
            file.setCharAt(errIndex2, '.');
            System.out.println("你的書寫有誤,已改正為:" + file + "rn提交成功!");
        } else {
            System.out.println("你提供的java檔名稱有誤,請核實!");
        }
    }
}

執行該程式,當用戶錄入的 Java 檔名稱中的為中文狀態的「。」和「.」時,修改為英文狀態下的「.」,然後再進行提交,如下所示:

請輸入你要提交的Java檔名稱:
myexapmle。java
你的書寫有誤,已改正為:myexample.java

在該程式中,實現替換特殊字元步驟如下所示:

  • 定義了一個 String 型別的變數,並賦值為使用者輸入的 Java 檔名稱。
  • 使用 StringBuffer 的 StringBuffer(String str) 建構函式將該變數的值作為 StringBuffer 物件的值。
  • 獲取使用者輸入字串中(英文和中文)的位置。
  • 使用多重 if 選擇語句判斷使用者輸入的字串中是否包含英文狀態下的,並且後面的字串是否為「java」,如果條件成立,則表示使用者輸入的資訊無誤,提交成功。
  • 在 else if 中判斷使用者輸入的字串中是否包含中文狀態下的「。」和「.」,並且「。」和後面的字串為「java」,如果判斷通過,則呼叫 StringBuffer 類中的 setCharAt() 方法修改「。」為「.」,再提交。

補充:用StringBuffer替換特定位置字元

import java.util.*;
public class Solution {
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);

while(sc.hasNextLine()){
StringBuffer s=new StringBuffer();
s.append(sc.nextLine());
if(s.length()>=1&&s.length()<=10)
{
int j=0;
for(int i=0;i<s.length()-1;i++){
if(s.charAt(i)==s.charAt(i+1)){
j++;
s.setCharAt(i+1,'Z');//替換特定字元
}
}

System.out.println(j);
}
else continue;
}
}
}

到此這篇關於Java利用StringBuffer替換特殊字元的方法實現的文章就介紹到這了,更多相關Java StringBuffer替換特殊字元內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com