firstLetter = word.charAt(0);
lastLetter = word.charAt((word.length()) - 1);
noFirstLetter = word.substring(1);
newWord = noFirstLetter + firstLetter;
if(word.equalsIgnoreCase(newWord))
因此,我尝试取出单词的第一个字母,如果我取出单词的第一个字母并将其移至末尾,它应该等于同一个单词。我这里的代码不起作用。例如,如果用户输入“dresser”,如果您将“d”移动到单词的末尾,您会再次得到“dresser”这个词。这就是我要检查的内容
最佳答案
我想你要做的是删除第一个字符,然后检查其余字符是否围绕单词的中心对称。(好吧,即使这对我来说很复杂)
如:
dresser => (drop d) => resser => (add d to the right) => resserd (从右往左读又是dresser)。
放下第一个字母后:
resser(单词中有偶数个字母)
r e s s e r
|_|
|_____|
|_________|
由于它们是对称的,如果将 D 从左向右移动(反之亦然),则可以说该词是回文词。
如果我一开始就误解了你的问题,那么上面的整个事情可能会大错特错。但我假设,您的问题不是简单的子串问题。
干杯。
关于java替换字符串中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31208835/