下面是我的代碼,它檢查傳入的模型並相應地修改源,檢查它的ALLCAPS或Firstcap。我遇到的問題是模型包含一個符號,例如matchCase( 「我」, 「蘋果」)。這將返回蘋果,當它應該返回蘋果。另一方面,如果我使用「Im」,它將正確地修改爲「Apple」。有沒有辦法我可以修改它的工作。我試圖運行的幾種方法,但我一直陷入字符串循環問題
public static String matchCase(String model, String source){
boolean o = true;
if(model.toUpperCase().equals(model)){
source = source.toUpperCase();
}
if(Character.isUpperCase(model.charAt(0))){
for(int i=1;i<model.length();i++){
if(Character.isLowerCase(model.charAt(i)) == false){
o = false;
}
}
// if(o == model.length()-1){
if(o == true){
String can = "";
for(int j=0;j<source.length();j++){
if(j==0){
can += Character.toUpperCase(source.charAt(j)); }
else{
can += source.charAt(j);
}
}
source = can;
// Character.toUpperCase(source.charAt(0));
}
}
return source;
}
}
能否請你解釋更加清晰的方式邏輯?你到底想要達到什麼目標? –
*這將返回蘋果,當它應該返回蘋果。另一方面,如果我使用「Im」,它將正確地修改爲「Apple」。*這聽起來很不錯。有什麼問題? – nullpointer
它以字符串作爲模型,其中一個來源。比方說模型是「檢查」,來源是「你好」。它將檢查模型並將源修改爲HELLO,因爲模型全部大寫。同樣,如果它的模型是「Check」並且源代碼是「hello」,它會將源代碼修改爲「Hello」。 –