【发布时间】:2014-01-04 11:43:37
【问题描述】:
如何获取单词的第一个字母并将其带到结尾?
【问题讨论】:
-
请查看您的帖子,注意有问题,然后正确格式化。
-
我们将不胜感激
标签: java for-loop substring charat
如何获取单词的第一个字母并将其带到结尾?
【问题讨论】:
标签: java for-loop substring charat
你每次都取ith 字母,而你应该每次取第一个索引为0 的字母。改变
firstLetter = word.charAt(i);
到
firstLetter = word.charAt(0);
【讨论】:
word = word.substring(1, word.length()); 有效地去除了单词的第一个字母,您已经在之前的行中确定了firstLetter = word.charAt(i);。然后word += firstLetter; 有效地将第一个字母附加到单词的末尾。总而言之,这 3 行创建了您的目标“环绕”移动效果。
这样的?
word = "test";
newWord = word.substring(1) + word.substring(0, 1);
【讨论】:
for (int i = 0; i < word.length(); i++) {
firstLetter = word.charAt(0);
word = word.substring(1, word.length());
System.out.println(firstLetter + word);
word += firstLetter;
}
【讨论】:
一种截然不同的方法:让单词保持原样,并根据子字符串遍历排列。毕竟:“omputerc”就是[omputer] + [c],就是[c][omputer]交换的;下一个迭代是“mputerco”,它只是 [mputer] + [co],或 [co][mputer] 交换,依此类推:
String head, tail;
for (int i = 0, last = word.length()-1; i<last; i++) {
head = word.substring(0,i);
tail = word.substring(i,last);
System.out.println(tail + head);
}
我们让单词保持原样,抓取头部和尾部子字符串,并以相反的顺序打印它们,从而准确生成您需要的内容。
【讨论】: