符號替換問題


public class ReplaceSpace {
  // 問題:請實現一個函數,將一個字符串中的空格替換成“%20”。例如,當字符串為We Are Happy.則經過替換之后的字符串為We%20Are%20Happy。
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str=scanner.nextLine();
        scanner.close();
        char[] charArray = str.toCharArray();
        int length=charArray.length;
        int spaceNumber=0;// 獲取空格數量
        for (char c : charArray) {
            if(c==' ') {
            spaceNumber++;
            }
        }
        int newLength=length+spaceNumber*2;
        char[] tempArray=new char[newLength];// 新的數組的長度
        System.arraycopy(charArray, 0, tempArray, 0, length);// 將原來的數組拷貝到新長度的數組中
        int indexofOriginal = length - 1;  
        int indexofNew = newLength - 1;  
        while (indexofOriginal>=0&&indexofOriginal!=indexofNew) {
            if (tempArray[indexofOriginal]==' ') {
                tempArray[indexofNew--] = '0'; 
                tempArray[indexofNew--] = '2';
                tempArray[indexofNew--] = '%';
            }else {
                tempArray[indexofNew--] = tempArray[indexofOriginal];
            }
            indexofOriginal--;
        }
        for (char c : tempArray) {
            System.out.print(c);
        }
    }
}
public class Solution {
    public String replaceSpace(StringBuffer str) {
        String str1=str.toString();
        char[] charArray = str1.toCharArray();
        StringBuilder sBuilder = new StringBuilder();
        for (char c : charArray) {
            if(c==' ') {
            sBuilder.append("%20");    
            }else {
                sBuilder.append(c);
            }
        }
        String string = sBuilder.toString();
        return string;
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM