C語言中文網 目錄

Java替換特殊字符

在本實例中為保證學生輸入的 Java 文件名合格,將利用 StringBuffe r類實現對 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() 方法修改“。”為“.”,再提交。

精美而實用的網站,提供C語言、C++、STL、Linux、Shell、Java、Go語言等教程,以及socket、GCC、vi、Swing、設計模式、JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo
极速pk10开户