1、将字符串倒置后逐一比较,实现如下:
public class HuiWenTest {
public static void main(String[] args) {
String str = "";
System.out.println("请输入一个字符串");
Scanner input = new Scanner(System.in);
str = input.next();
StringBuffer sb = new StringBuffer(str);
sb.reverse();// 将Str中的字符串倒置
int count = 0;
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) == sb.charAt(i)) {
count++;
}
}
if (count == str.length()) {
System.out.println("此字符串是一个回文字符串");
} else {
System.out.println("此字符串不是一个回文字符串");
}
}
}
2、将字符串倒置后创建新字符串直接比较,实现如下:
public class HuiWenTest2 {
public static void main(String[] args) {
System.out.println("请输入一个字符串");
Scanner input = new Scanner(System.in);
String str = input.next();
StringBuilder sb=new StringBuilder(str);
sb.reverse();//将str倒置的方法
String newStr=new String(sb);
if(str.equals(newStr)){
System.out.println(str+"是回文字符串");
}else{
System.out.println(str+"不是回文字符串");
}
}
}
3、使用截取字符串的方式比较,实现如下:
public class HuiWenTest3 {
public static void main(String[] args) {
System.out.println("请输入一个字符串");
Scanner input = new Scanner(System.in);
String str = input.next();
int count = 0;
for (int i = 0; i < str.length() / 2; i++) {
if ((str.substring(i, i + 1)).equals(str.substring(str.length() - 1- i, str.length() - i))) {
count++;
}
}
if (count == str.length() / 2) {
System.out.println("是回文字符串");
}else{
System.out.println("不是回文字符串");
}
}
}
4、判断回文数字(判断纯数字),实现如下:
public class HuiWenNum {
public static void main(String[] args) {
int n;
System.out.println("请输入一个整数:");
// 如果结果为回文数,跳出循环
while (true) {
Scanner InpuNum = new Scanner(System.in);
n = InpuNum.nextInt();
if (isHuiWen(n)) {
System.out.println(n + "是回文数!");
break;
} else {
System.out.println(n + "不是回文数!");
}
}
}
// 判断的数字是否是回文数
public static boolean isHuiWen(int n) {
int m = reverse(n);
if (m == n) {
return true;
} else {
return false;
}
}
// 将输入的数字进行倒置,以便进行判断是否是回文数
public static int reverse(int n) {
int temp = 0;// 临时变量
int j = 0;// 倒置后的数字
temp = n;// 将输入的数字赋值给临时变量
while (temp != 0) {
j = j * 10 + temp % 10;
temp /= 10;
}
return j;
}
}
编程界网,大量的免费Java入门教程,欢迎在线学习!