2016-11-15 20 views
0

私の出力がどのように外れているのか誰にでも案内できますか?私の方法に何をすることができますか?おかげで、事前にJava文字列の頭文字

//Something is to be done here to prevent out of bound thing 
public class B 
{ 

public String Letter(String List) 
{ 
    StringBuilder sb = new StringBuilder(); 
for(String s : list.split(" ")) 
{ 
    sb.append(s.charAt(0));   
} 
return sb.toString(); 
} 

メインメソッド

public static void main(String[] args) 
    { 
    Undesired Code Here 
    } 

答えて

5

問題はここにある:あなたが行に2つのスペースが含まれている例"thislooks good to me"、だまされてきた

for(String s : name.split(" ")) 
{ 
    sb.append(s.charAt(0));   
} 

。それらの間に結果として得られるStringの長さは0であり、例外はcharAt(0)になります。

最も簡単な修正は、追加する前に!s.isEmpty()を確認することです。

+0

Worksパーフェクト。ありがとう、トン – Priyanshu

+1

もう一つの方法は、 'name.split(" + ")'を使うことです。 – Bubletan

関連する問題