Java从键盘输入一个字符串,编程判断这个字符串是否是回文
时间: 2023-06-21 11:05:31 浏览: 161
可以使用Java的字符串反转函数,将输入的字符串反转后与原字符串比较是否相等,来判断字符串是否是回文。
以下是一个示例代码:
```java
import java.util.Scanner;
public class Palindrome {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String str = scanner.nextLine();
if (isPalindrome(str)) {
System.out.println(str + " 是回文字符串");
} else {
System.out.println(str + " 不是回文字符串");
}
}
public static boolean isPalindrome(String str) {
String reversedStr = new StringBuilder(str).reverse().toString();
return str.equals(reversedStr);
}
}
```
运行程序后,输入一个字符串,程序会输出是否是回文字符串。
相关问题
编写一个Java应用程序。用户从键盘输入一个1~9999之间的 数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文 数是指将该数含有的数字逆序排列后得到的数与原数相同,例如 12121、3223都是回文数。 编程题 4: 编写一个Java应用程序,实现下列功能:
为了编写一个Java程序来实现这个功能,你可以按照以下步骤进行:
```java
import java.util.Scanner;
public class PalindromeNumber {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个1到9999之间的整数:");
// 获取用户输入
int number = scanner.nextInt();
scanner.close();
// 判断位数
int digitCount = String.valueOf(number).length();
System.out.printf("输入的数有 %d 位.\n", digitCount);
// 判断回文数
boolean isPalindrome = checkPalindrome(number);
if (isPalindrome) {
System.out.println("%d 是一个回文数.", number);
} else {
System.out.println("%d 不是回文数.", number);
}
}
// 回文数检查函数
private static boolean checkPalindrome(int num) {
String strNum = String.valueOf(num);
int start = 0;
int end = strNum.length() - 1;
while (start < end) {
if (strNum.charAt(start) != strNum.charAt(end)) {
return false;
}
start++;
end--;
}
return true;
}
}
```
在这个程序中,我们首先获取用户的输入,然后计算输入数字的位数。接着,我们定义一个`checkPalindrome`函数,通过比较数字字符串首尾字符直到两端相遇,来判断输入的数是否是回文。如果所有匹配,则返回`true`,否则返回`false`。
运行此程序,用户输入一个数字后,它会告诉用户数字的位数以及它是否为回文数。
阅读全文