我试图接收一个字符串,切断第一个字母,将它放在字符串的末尾,并将其与原始输入进行比较。对于某些词而言,它有效,而其他词则不适用。我不确定这是循环的问题还是什么?用于字符串输入和反转的循环
import java.util.*;
public class Palin{
public static void main(String args[])
{
String original,input;
Scanner sc=new Scanner(System.in);
System.out.println("Enter word and I will tell you if it has the property of a palindrome: ");
original = sc.nextLine();
char firstLetter = original.charAt(0);
input = original.substring(1);
input = input + firstLetter;
StringBuilder input2=new StringBuilder(input).reverse();
String s2=new String(input2);
do{
if(original.equals(s2))
System.out.println(original + " is a Palindrome");
else
System.out.println(original + " is not a Palindrome");
System.out.println("Enter another word. Or enter \"quit\" to end");
original = sc.nextLine();
} while (!(original.equalsIgnoreCase("quit")));
}
}
如果你看看右侧的相关问题,你会找到解决方案。当你写这个问题时,我认为这是一个建议的重复。 – NeplatnyUdaj
您实际上在测试第一个字母后的单词是否是回文。你可以为此写一个测试。这会更简单。 –
StringBuilder input2 = new StringBuilder(input).reverse();这个命令不会反转整个字符串? – mo1090