Getting array out of ArrayOutOfBound exception. I was writing code to get first letters of all words in a string

AwsmAsim :

//. I was writing code to get first letters of all words in a string. public class Firstword {

static void func(String str)
{
    String k ="";
   String str1=" "+str;
    char[] ch= str1.toCharArray();
    for(int i=0;i<ch.length-2;i++)
        {
            if(i != ch.length-1)
            while(i<ch.length && ch[i]!=' ')
                i++;

            k=k+ch[i+1];
        }
    System.out.print(k);
    System.out.print(ch.length);
}

public static void main(String[] args)
{
    String str = "Hello Banner jee";

    func(str);
}

}

RR_IL :

Your error is here:

  k=k+ch[i+1];

You are getting out of bounds.

Because of this:

  while(i<ch.length && ch[i]!=' ')
            i++; 

Something like this will work -

static void func(String str)
{
String [] words = str.split(" ");
for(int i = 0; i < words.length ;i++){
    System.out.println(words[i].charAt(0));
}
}

public static void main(String[] args)
{
String str = "Hello Banner jee";
func(str);
}

Output -

H
B
j

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=278893&siteId=1