java从控制台输入一个字符串,判断是否是回文数
时间: 2023-06-21 13:05:55 浏览: 71
回文数是指正着读和倒着读都一样的数,比如121、12321等。可以按以下步骤实现判断一个字符串是否为回文数:
1. 从控制台输入一个字符串,使用`Scanner`类可以方便地实现这一步骤。
```java
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个字符串:");
String str = scanner.nextLine();
```
2. 将字符串转换为字符数组,方便逐个字符比较。
```java
char[] charArray = str.toCharArray();
```
3. 使用双指针法逐个比较字符。双指针法是指定义两个指针,一个指向字符串的头部,一个指向尾部,然后向中间逐个比较字符。如果所有字符都相同,则字符串是回文数,否则不是。
```java
int left = 0;
int right = charArray.length - 1;
while (left < right) {
if (charArray[left] != charArray[right]) {
System.out.println(str + " 不是回文数");
return;
}
left++;
right--;
}
System.out.println(str + " 是回文数");
```
完整代码如下:
```java
import java.util.Scanner;
public class Palindrome {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个字符串:");
String str = scanner.nextLine();
char[] charArray = str.toCharArray();
int left = 0;
int right = charArray.length - 1;
while (left < right) {
if (charArray[left] != charArray[right]) {
System.out.println(str + " 不是回文数");
return;
}
left++;
right--;
}
System.out.println(str + " 是回文数");
}
}
```