这是我作业的解决方案,其目的是根据用户输入句子来反转字符串中的每个单词。我已经完成了这个,但我只是想知道迭代器在这段代码中是如何工作的。我不明白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();
}
}
答案 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 =“”;在每次迭代结束时重置变量,以便可以重复使用。