2013-04-06 128 views
1
int length = s.length(); 

if (length <= 1){ 
    return s; 
} 

else { 

    return s.charAt(length) + s.substring(1, length-1) + s.charAt(0); 

} 

我只是想換的第一個字母和一個字符串的最後一個字母。在Java中交換字符串的第一個和最後一個字母?

例如。蘋果 - > eppla

它編譯罰款和正常工作與一個空字符串或只有一個字符的字符串。 但與幾個字符的字符串,它說:

StringIndexOutOfBoundsException occured - see console for stack trace 

謂是否意味着有什麼錯我的代碼???

+2

記住,長度大於字符串中的最後一個元素一個更大的。例如,字符串「字」長度爲4但charAt(3)爲d – 2013-04-06 07:35:51

回答

4

試試這個:

int length = s.length(); 

if (length <= 1) { 
    return s; 
} else { 
    return s.charAt(length - 1) + s.substring(1, length - 1) + s.charAt(0); 
} 

不同的是s.charAt(length - 1)。請記住,該字符串是零索引的,所以最後一個字符是s.charAt(length - 1)

+1

謝謝它的工作:) – Kimmm 2013-04-06 07:42:46

1

你想s.charAt(長度 - 1)開始

0
if(str.length()<=1){return str;} 

String middle=str.substring(1,str.length()-1); 

return str.charAt(str.length()-1)+middle+str.charAt(0); 
-1
String str; 
Scanner sc=new Scanner(System.in); 
System.out.println("Enter the String"); 
str=sc.nextLine(); 
String word[]=str.split(" "); 
int len=word.length; 
String temp=word[0]; 
word[0]=word[len-1];`` 
word[len-1]=temp; 
for (int i = 0; i < word.length; i++) { 
    System.out.print(word[i]+" "); 
} 
+0

這是非常簡單的代碼,用於交換字符串中的第一個和最後一個字。 – Pankaj 2018-03-07 04:31:08

相關問題