java程序,用于查找句子中每个单词的字母数
我想找出一个句子中每个单词的字母数。我已经尝试了好几次使用一些代码,但都没有得到它。我总是显示错误StringIndexOutOfBounds异常。我的一个代码如下:java程序,用于查找句子中每个单词的字母数,java,arrays,loops,exception-handling,Java,Arrays,Loops,Exception Handling,我想找出一个句子中每个单词的字母数。我已经尝试了好几次使用一些代码,但都没有得到它。我总是显示错误StringIndexOutOfBounds异常。我的一个代码如下: import java.util.*; class LengthOfEachWord { public static void main() { Scanner sc = new Scanner(System.in); Stri
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);
}
}
}
尝试拆分单词,通过迭代计算数组中每个元素的长度 例子:
publicstaticvoidmain(字符串[]args){
最终扫描仪myScanner=新扫描仪(System.in);
串句;
System.out.print(“输入句子:”);
句子=myScanner.nextLine();
//现在按空间分割
最后一个字符串[]sentceComp=句子.split(“”);
//把句子中的单词圈起来
for(int i=0;i
输出:
输入一句话:
java程序,用于查找句子中每个单词的长度
输入句子中的单词“java”有4个字符
输入句子中的“程序”一词有7个字符
输入句子中的单词“to”有两个字符
输入句子中的单词“find”有4个字符
输入句子中的单词“The”有3个字符
输入句子中的单词“length”有6个字符
输入句子中的单词“of”有两个字符
输入句子中的单词“each”有4个字符
输入句子中的单词“word”有4个字符
输入句子中的单词“in”有两个字符
输入句子中的单词“a”有1个字符
输入句子中的单词“句子”有8个字符
非常感谢。你能给出一个稍微简化一点,不使用数组的程序吗?
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");
}
}