java程序查找句子中每个单词的字母数

时间:2016-03-20 11:25:54

标签: java arrays loops exception-handling

我想找到一个句子中每个单词的字母数。我已经尝试了几次使用几个代码,但从来没有得到它。我总是显示错误StringIndexOutOfBounds异常。我的一个代码如下:

    import java.util.*;
    class LengthOfEachWord
    {
        public static void main()
        {
            Scanner sc = new Scanner(System.in);
            String s,a,b;
            int l,x,l1,y=0,now;
            try
            {
                System.out.print("Enter a sentence:");
                s=sc.nextLine();
                l=s.length();
                String arr[]=s.split(" ");
                now=arr.length;
                while(true)
                {
                    x=s.indexOf(' ');
                    a=s.substring(0,x);
                    l1=a.length();
                    System.out.println(a+"="+l1);
                    b=s.substring(x+1,l);
                    s=b;
                    y++;
                    if(now==y)
                    {
                        break;
                    }
                }//End of while block
            }//End of try block
            catch(Exception e)
            {
                System.out.println("Error="+e);
            }
        }
    }

1 个答案:

答案 0 :(得分:1)

尝试分割单词,并通过迭代计算数组中每个元素的长度

实施例

public static void main(String[] args) {
    final Scanner myScanner = new Scanner(System.in);
    String sentence;
    System.out.print("Enter a sentence:");
    sentence = myScanner.nextLine();
    // now split by space
    final String[] sentceComp = sentence.split(" ");
    // loop over the words in sentence
    for (int i = 0; i < sentceComp.length; i++) {
        System.out.println("The word \"" + sentceComp[i] + "\" in the input sentence has " + sentceComp[i].length() + " chars");
    }
}

输出:

  

输入一句话:

     

java程序查找句子中每个单词的长度

     

输入句子中的“java”一词有4个字符

     

输入句子中的“程序”一词有7个字符

     

输入句子中的“to”一词有2个字符

     

输入句子中的“find”一词有4个字符

     

输入句子中的“the”一词有3个字符

     

输入句子中的“长度”一词有6个字符

     

输入句子中的“of”一词有2个字符

     

输入句子中的“each”一词有4个字符

     

输入句子中的“单词”一词有4个字符

     

输入句子中的“in”一词有2个字符

     

输入句子中的单词“a”有1个字符

     

输入句子中的“句子”一词有8个字符