0
public class test {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("Please insert a word.:  ");
        String word = (" ");
        while (in.hasNextLine()){
            System.out.println(in.next().charAt(0));
        }
    }
}

我试图从输入中读取每个字母并用空格分隔。

例如:输入是Yes.

输出应该是

Y
E
S
.

我不明白如何使字符转到输入中的下一个字母。任何人都可以帮忙吗?

4

2 回答 2

1

你在'hasNextLine'你的循环中有一个错误——一个无关的; 循环体前的分号。分号(什么都不做)将被循环,然后主体将被执行一次。

一旦你解决了这个问题,你需要遍历单词中的字符。在“hasNextLine”循环内:

String word = in.nextLine();
for (int i = 0; i < word.length(); i++) {
    char ch = word.charAt(i);
    // print the character here..  followed by a newline.
}
于 2013-10-08T01:39:04.233 回答
1

你可以做

while (in.hasNext()) {
    String word = in.next();
    for (char c: word.toCharArray()) {
        System.out.println(c);
    }
}
于 2013-10-08T01:41:31.003 回答