公共类回文{
public static void main(String args[])
{
String string
String reverse = "";
Scanner scanner = new Scanner(System.in);
System.out.println("Enter a string:");
string = scanner.nextLine();
int length = string.length();
for ( int i = length - 1; i >= 0; i-- )
reverse = reverse + string.charAt(i);
if (string.equals(reverse))
System.out.println(string+" is a palindrome");
else
System.out.println(string+" is not a palindrome");
}
}
这是我走了多远,不确定如何继续询问用户输入,直到他们键入stop来终止程序为止。而且,在确定它是否是回文并接受句子之前,我似乎无法获得将字母转换为小写的程序。
请尝试使用此更改的代码版本。刚刚在while
语句中添加了break
块。
public class Palindrome{
public static void main( String args[] ){
Scanner scanner = new Scanner( System.in );
while (true) {
String string = "";
String reverse = "";
System.out.println( "Enter a string:" );
string = scanner.nextLine();
if( string == null || string.trim().equals( "" ) ) break;
int length = string.length();
for (int i = length - 1; i >= 0; i--)
reverse = reverse + string.charAt( i );
if (string.equals( reverse ))
System.out.println( string + " is a palindrome" );
else
System.out.println( string + " is not a palindrome" );
}
}
}
要不断向用户询问新输入,只需将您的计算包装到无限循环中即可。
public static void main(String[] args) {
String string;
Scanner scanner = new Scanner(System.in);
while (true) { // keep asking forever
System.out.println("Enter a string:");
string = scanner.nextLine();
if (string.equals("stop")) break; // if stop entered - leave the loop
string = string.toLowerCase().replaceAll(" ", ""); // convert string to LC and remove spaces
if (string.equals(new StringBuilder(string).reverse().toString()))
System.out.println(string + " is a palindrome");
else
System.out.println(string + " is not a palindrome");
}
}