首頁  >  文章  >  Java  >  java判斷是否為回文

java判斷是否為回文

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼原創
2019-11-15 09:19:563247瀏覽

java判斷是否為回文

1、將字串倒置後逐一比較,實作如下:

 public class HuiWenTest {
/**
* @SERLIN
*/
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 {
/**
* @SERLIN
*/
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 {
/**
* @SERLIN
*/
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 {
/**
* @SERLIN
*/
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;
}
}

php中文網,大量的免費Java入門教學,歡迎在線學習!

以上是java判斷是否為回文的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn