JAVA判断输入的字符串是否为回文,如abcba
时间: 2024-10-22 13:11:11 浏览: 17
判断一个字符串是否为回文,就是看正序读和反序读是否一样。在Java中,你可以通过以下几个步骤来实现:
1. 定义一个函数,接收一个字符串作为参数。
2. 将字符串转换为字符数组,因为数组可以直接进行索引操作,方便比较。
3. 初始化两个指针,一个从数组开始(0),一个从数组结尾向内移动(字符数组长度减一)。
4. 比较两个指针指向的字符,如果相等,则继续比较下一个;如果不等,则说明不是回文,返回false。
5. 当两个指针相遇(即一个指向了数组开头,另一个指向了中间或结尾),则整个字符串都是回文,返回true。
以下是简单的Java代码示例:
```java
public 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;
}
```
相关问题
Java判断字符串是否为回文
一个字符串是回文的,当且仅当其从左往右读和从右往左读完全相同。
以下是Java中判断字符串是否为回文的示例代码:
```java
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; // 如果所有字符都匹配,则是回文
}
```
可以通过调用这个方法来判断一个字符串是否为回文:
```java
String str = "abcba";
if (isPalindrome(str)) {
System.out.println(str + " 是回文");
} else {
System.out.println(str + " 不是回文");
}
```
Java判断键盘输入的字符串是否是回文。例如"abcba"是回文串
以下是Java代码,用于判断键盘输入的字符串是否是回文:
```java
import java.util.Scanner;
public class PalindromeChecker {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个字符串:");
String str = scanner.nextLine();
if (isPalindrome(str)) {
System.out.println(str + " 是回文字符串");
} else {
System.out.println(str + " 不是回文字符串");
}
}
public static boolean isPalindrome(String str) {
int len = str.length();
for (int i = 0; i < len / 2; i++) {
if (str.charAt(i) != str.charAt(len - 1 - i)) {
return false;
}
}
return true;
}
}
```
代码中,isPalindrome() 方法用于判断一个字符串是否是回文字符串。该方法首先获取字符串的长度,然后循环遍历字符串的前一半字符,与后一半相比较,如果不相等,则该字符串不是回文字符串,返回 false;否则,该字符串是回文字符串,返回 true。
在 main() 方法中,获取用户输入的字符串,调用 isPalindrome() 方法进行判断,并输出结果。
阅读全文