写一个java程序,判断一个字符串是否是回文数
时间: 2023-09-04 19:05:09 浏览: 164
### 回答1:
以下是一个Java程序,可以判断一个字符串是否是回文数:
```java
public class PalindromeChecker {
public static void main(String[] args) {
String str = "level";
if (isPalindrome(str)) {
System.out.println(str + " is a palindrome.");
} else {
System.out.println(str + " is not a palindrome.");
}
}
public static boolean isPalindrome(String str) {
int length = str.length();
for (int i = 0; i < length / 2; i++) {
if (str.charAt(i) != str.charAt(length - 1 - i)) {
return false;
}
}
return true;
}
}
```
在这个程序中,我们定义了一个方法 `isPalindrome`,这个方法接收一个字符串参数 `str`,并返回一个布尔值,表示这个字符串是否是回文数。具体实现方法是,我们首先获取字符串的长度 `length`,然后从字符串的两侧开始逐个比较字符,如果发现有不同的字符,就说明这个字符串不是回文数,返回 `false`;如果比较到中间位置都没有出现不同的字符,就说明这个字符串是回文数,返回 `true`。
在 `main` 方法中,我们调用了 `isPalindrome` 方法,并将判断结果输出到控制台。
### 回答2:
下面是用Java编写的一个判断字符串是否是回文数的程序:
```java
public class PalindromeChecker {
public static void main(String[] args) {
String str = "abcba";
if (isPalindrome(str)) {
System.out.println(str + " 是一个回文数");
} else {
System.out.println(str + " 不是一个回文数");
}
}
public static boolean isPalindrome(String str) {
int length = str.length();
// 对称比较字符串的前一半和后一半的字符
for (int i = 0; i < length / 2; i++) {
if (str.charAt(i) != str.charAt(length - i - 1)) {
return false; // 如果字符不同,返回false
}
}
return true; // 字符全都相同,返回true
}
}
```
程序的关键点是`isPalindrome`方法,该方法判断一个字符串是否是回文数。它通过循环遍历字符串的前一半和后一半的字符,并比较它们是否相同。如果找到不同的字符,则返回`false`,否则返回`true`。
在`main`方法中,我们可以设定要检查的字符串并调用`isPalindrome`方法来进行判断。在上面的例子中,字符串`abcba`是一个回文数,所以程序会输出`abcba 是一个回文数`。
### 回答3:
一个回文数是指从前往后读和从后往前读都一样的数。为了判断一个字符串是否是回文数,可以通过以下的Java程序实现:
```java
import java.util.Scanner;
public class PalindromeChecker {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一个字符串:");
String str = input.nextLine();
if (isPalindrome(str)) {
System.out.println(str + " 是一个回文数。");
} else {
System.out.println(str + " 不是一个回文数。");
}
}
public static boolean isPalindrome(String str) {
int left = 0;
int right = str.length() - 1;
while (left < right) {
if (str.charAt(left) != str.charAt(right)) {
return false;
}
left++;
right--;
}
return true;
}
}
```
这个程序首先通过Scanner类获取用户输入的字符串。然后,调用`isPalindrome`方法来判断该字符串是否是回文数。`isPalindrome`方法使用两个指针(left和right)从字符串的首尾开始扫描。如果两个指针所指的字符不相同,那么该字符串就不是回文数。最后,根据`isPalindrome`方法的返回值,程序输出对应的结果。