我希望能够输出每个单词的字母大小。到目前为止,我的代码只输出第一个单词的字母大小。如何输出其余的单词?
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() );
}
}
}
答案 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() );
}
}
}