Java利用StringBuffer替換特殊字符的方法實現
在本實例中為保證學生輸入的 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 + "\r\n提交成功!"); } else if (errIndex2 != -1 && file.substring(errIndex2 + 1, file.length()).equals("java")) { // 將全角狀態下的"."改為英文狀態下的"." file.setCharAt(errIndex2, '.'); System.out.println("你的書寫有誤,已改正為:" + file + "\r\n提交成功!"); } 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替換特殊字符內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- None Found