Java利用StringBuffer替換特殊字符的方法實(shí)現(xiàn)
在本實(shí)例中為保證學(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 + 'rn提交成功!');} 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 + 'rn提交成功!');} 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)下的“?!焙汀?”,并且“。”和后面的字符串為“java”,如果判斷通過(guò),則調(diào)用 StringBuffer 類(lèi)中的 setCharAt() 方法修改“。”為“.”,再提交。補(bǔ)充:用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;}}}
到此這篇關(guān)于Java利用StringBuffer替換特殊字符的方法實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Java StringBuffer替換特殊字符內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. python如何實(shí)現(xiàn)word批量轉(zhuǎn)HTML2. python excel和yaml文件的讀取封裝3. python3實(shí)現(xiàn)往mysql中插入datetime類(lèi)型的數(shù)據(jù)4. python爬蟲(chóng)實(shí)戰(zhàn)之制作屬于自己的一個(gè)IP代理模塊5. moment轉(zhuǎn)化時(shí)間戳出現(xiàn)Invalid Date的問(wèn)題及解決6. 詳解docker pull 下來(lái)的鏡像都存到了哪里8. php實(shí)現(xiàn)當(dāng)前用戶在線人數(shù)9. 關(guān)于 Android WebView 的內(nèi)存泄露問(wèn)題10. Python中內(nèi)建模塊collections如何使用
