我需要编写一个程序,从用户那里获取一个字符串并测试它是否是回文。这必须通过嵌套循环来完成:我无法编写返回答案的方法。我还必须继续接受字符串输入并对其进行测试,直到用户输入一个空行,此时程序打印“再见”并终止。我遇到的问题是让程序在两个可能的输入点之后接受输入(是回文,不是),然后在循环中使用新输入,并每次打印适当的行。
输出应该是这样的:
输入字符串:转子
转子是回文。
输入一个字符串:妈咪
木乃伊不是回文。
输入一个字符串:
空行读取。再见。
这是我到目前为止所拥有的,它测试每个输入并返回正确的语句,但是当输入为空时它什么也不做:
System.out.print("Enter a string: ");
String input = in.next();
if (input.length() > 0) {
int x = 0;
int y = input.length()-1;
while (x < y) {
if (input.charAt(x) == input.charAt(y)) {
x++;
y--;
}
else {
System.out.println(input + " is NOT a palindrome.");
System.out.println("Enter a string: ");
input = in.next();
}
System.out.println(input + " is a palindrome.");
System.out.println("Enter a string: ");
input = in.next();
}
}
else {
System.out.print("Empty line read - Goodbye!");
}
有什么想法吗?这是作业,顺便说一句,所以我不是在寻找答案,而是寻找线索,或者我需要看的东西。