如何计算此字符串中每个单词的大小?

时间:2014-03-03 19:41:04

标签: java string

我希望能够输出每个单词的字母大小。到目前为止,我的代码只输出第一个单词的字母大小。如何输出其余的单词?

import java.util.*;

public final class CountLetters {
  public static void main (String[] args) {

    Scanner sc = new Scanner(System.in);
    String words = sc.next();
    String[] letters = words.split(" ");

    for (String str1 : letters) {
       System.out.println(str1.length() ); 
    }   
  } 
}

3 个答案:

答案 0 :(得分:1)

使用sc.next()只会让扫描程序接收第一个单词。

 String words = sc.nextLine();

答案 1 :(得分:1)

这只是因为next只返回第一个单词(或者也称为第一个'令牌'):

String words = sc.next();

要阅读整行,请使用nextLine

String words = sc.nextLine();

你正在做什么应该工作。

您可以做的另一件事是继续使用next一直(而不是拆分),因为默认情况下Scanner已经使用空格搜索令牌:

while(sc.hasNext()) {
    System.out.println(sc.next().length());
}

答案 2 :(得分:0)

迭代所有扫描仪值:

public final class CountLetters {
    public static void main (String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()) {
            String word = sc.next();
            System.out.println(word.length() );
        }
   }
}