JAVA基本迭代器

时间:2012-10-25 01:01:53

标签: java iterator

这是我作业的解决方案,其目的是根据用户输入句子来反转字符串中的每个单词。我已经完成了这个,但我只是想知道迭代器在这段代码中是如何工作的。我不明白tempword =“”的说法;以及他如何打印出由空格分隔的每个单词。

import java.util.Scanner;

public class StringReverser
{
    public static void main(String args[])
    {
        String sentence;
        String word;
        String tempWord = "";

        Scanner scan = new Scanner(System.in);
        Scanner wordScan;

        System.out.print("Enter a sentence: ");
        sentence = scan.nextLine();

        wordScan = new Scanner(sentence);

        while(wordScan.hasNext())
        {
            word = wordScan.next();

            for(int numLetters = word.length() - 1; numLetters >= 0; numLetters--)
                tempWord += word.charAt(numLetters);

            System.out.print(tempWord + " ");
            tempWord = "";
        }
        System.out.println();
    }
}

2 个答案:

答案 0 :(得分:0)

此位添加空格

System.out.print(tempWord + " ");

这个位反转它

for(int numLetters = word.length() - 1; numLetters >= 0; numLetters--)
            tempWord += word.charAt(numLetters);

这个位为下一个单词设置

tempWord = "";

答案 1 :(得分:0)

for循环向后计数,从单词中最后一个字符的索引到第一个字符(基于零的表示法)

打印打印反转的单词+空格(“”),它使用print代替println的事实是因为println会添加一个回车,将每个单词放在不同的行中。

tempWord =“”;在每次迭代结束时重置变量,以便可以重复使用。