功能:將一個字符串的最後一個字母變成大寫,變態!
問題1:
第一次實現的時候將判斷寫成如下形式。。。然後結果顯示總多一個最後一個字母的小寫,尼瑪。。不解,原來i != schar.length-2
。i
還可以等於schar.length-1
。切記啊,判斷條件要考慮清楚。
if(i != schar.length-2)
{
result1 += schar[i];
}
將判斷條件改成i <= schar.length-2
,問題1解決。
問題2:
將最後一個字符變成大寫字母的時候,無法直接賦值String result2 = schar[i].toUpperCase();
,也無法將這時候得到的ss
,這是爲啥呢?變量的作用域導致的,需要補充一下。
if(i == schar.length-1) {
String ss = schar[i].toUpperCase();
result2=ss;
}
整體實現如下:
public class LengendaryupperFirstTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s = "king";;
String schar[] = s.split("");
String result1 ="";
String result2 ="";
for(int i =0;i<schar.length;i++) {
if(i <= schar.length-2)
{
result1 += schar[i];
}
if(i == schar.length-1) {
String ss = schar[i].toUpperCase();
result2=ss;
}
}
String result = result1+result2;
System.out.println(result);
}
}