您好,登錄后才能下訂單哦!
小編給大家分享一下Java如何利用StringBuffer替換特殊字符,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
為保證學(xué)生輸入的 Java 文件名合格,將利用 StringBuffer 類(lèi)實(shí)現(xiàn)對(duì) Java 文件名中的特殊符號(hào)進(jìn)行替換,包括將中文狀態(tài)下的“?!焙腿菭顟B(tài)下的“.”替換為英文狀態(tài)下的“.”。
在本例實(shí)現(xiàn)過(guò)程中主要使用了 StringBuffer 類(lèi)的字符查找和替換方法,實(shí)現(xiàn)代碼如下:
import java.util.Scanner; public class test2 { public static void main(String[] args) { System.out.println("請(qǐng)輸入你要提交的Java文件名稱(chēng):"); Scanner input = new Scanner(System.in); String fileName = input.next(); // 獲取用戶輸入的 java 文件名稱(chēng) // 定義StringBuffer對(duì)象,字符串內(nèi)容為用戶輸入的java文件名稱(chēng) StringBuffer file = new StringBuffer(fileName); // 獲取英文狀態(tài)下的"."是否存在 int index = file.lastIndexOf("."); // 判斷中文狀態(tài)下的"。"和"."是否存在 int errIndex1 = file.lastIndexOf("。"); int errIndex2 = file.lastIndexOf("."); if (index != -1 && file.substring(index + 1, file.length()).equals("java")) { System.out.println("作業(yè)提交成功!"); } else if (errIndex1 != -1 && file.substring(errIndex1 + 1, file.length()).equals("java")) { // 將中文狀態(tài)下的"。"改為英文狀態(tài)下的"." file.setCharAt(errIndex1, '.'); System.out.println("你的書(shū)寫(xiě)有誤,已改正為:" + file + "\r\n提交成功!"); } else if (errIndex2 != -1 && file.substring(errIndex2 + 1, file.length()).equals("java")) { // 將全角狀態(tài)下的"."改為英文狀態(tài)下的"." file.setCharAt(errIndex2, '.'); System.out.println("你的書(shū)寫(xiě)有誤,已改正為:" + file + "\r\n提交成功!"); } else { System.out.println("你提供的java文件名稱(chēng)有誤,請(qǐng)核實(shí)!"); } } }
運(yùn)行該程序,當(dāng)用戶錄入的 Java 文件名稱(chēng)中的為中文狀態(tài)的“。”和“.”時(shí),修改為英文狀態(tài)下的“.”,然后再進(jìn)行提交,如下所示:
請(qǐng)輸入你要提交的Java文件名稱(chēng):
myexapmle。java
你的書(shū)寫(xiě)有誤,已改正為:myexample.java
在該程序中,實(shí)現(xiàn)替換特殊字符步驟如下所示:
定義了一個(gè) String 類(lèi)型的變量,并賦值為用戶輸入的 Java 文件名稱(chēng)。
使用 StringBuffer 的 StringBuffer(String str) 構(gòu)造函數(shù)將該變量的值作為 StringBuffer 對(duì)象的值。
獲取用戶輸入字符串中(英文和中文)的位置。
使用多重 if 選擇語(yǔ)句判斷用戶輸入的字符串中是否包含英文狀態(tài)下的,并且后面的字符串是否為“java”,如果條件成立,則表示用戶輸入的信息無(wú)誤,提交成功。
在 else if 中判斷用戶輸入的字符串中是否包含中文狀態(tài)下的“?!焙汀?”,并且“?!焙秃竺娴淖址疄椤癹ava”,如果判斷通過(guò),則調(diào)用 StringBuffer 類(lèi)中的 setCharAt() 方法修改“?!睘椤?”,再提交。
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替換特殊字符”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。