我有一個由用戶輸入的字符串。 我試圖用空格替換所有非大寫字母(即數字或符號),而不使用諸如replace()
,Stringbuilders
或arrays
等方法。替換字符
這是我到目前爲止有:
public static void formatPlaintext(String sentence){
String sentenceUpper = sentence.toUpperCase();
System.out.println(sentenceUpper);
String emptyString = " ";
for(int i = 0; i< sentenceUpper.length() ; i++){
char ch = sentenceUpper.charAt(i);
if(ch < 'A' || ch > 'Z'){
ch = emptyString.charAt(0);
}
}
}//end of formatPlaintext
我不斷收到錯誤的字符串索引超出範圍。我相信它與:
ch = emptyString.charAt(0);
因爲emptyString沒有任何字符。但即使我把一個任意常量放進去,它也不會用這個任意常量替換非字母。
isnt isUpperCase是字符類的一種方法嗎?即Character.isUpperCase(char) –
@MauricioTrajano哦,你是對的 - 現在編輯。 – furkle
@MauricioTrajano,我只是猜錯。 :) – bumbumpaw