编写一个程序,判断一个单词或句子是否为回文?(空格认为有意义)
回文:从后和从前读都是一样的字符串。
思路:1.复制这个string
2.反转所有字符的次序
3.把这个复制字符串与原来的相比较,看看是否相同。
package test1;
import java.util.Scanner;
public class HuiwenString {
String reverse(String s) {
String result = new String();
int position = 0;
while (position < s.length()) {
result = new Character(s.charAt(position)).toString() + result;
position += 1;
}
return result;
}
boolean check(String s1,String s2) {
String s=reverse(s2);
if(s1.compareTo(s)==0) {
return true;
}else {
return false;
}
}
String getInput(){
Scanner in=new Scanner(System.in);
System.out.println("请输入文本字符串:");
return in.nextLine();
}
void testHuiwenString (String s) {
if(check(s.toLowerCase(),s.toLowerCase())) {
System.out.println("String 是一个回文字符串。");
}else {
System.out.println("string不是一个回文字符串。");
}
}
public static void main(String[] args) {
HuiwenString string=new HuiwenString();
string.testHuiwenString(string.getInput());
}
}
测试:
请输入文本字符串:
suus
String 是一个回文字符串。
请输入文本字符串:
s12skd
string不是一个回文字符串。