Java从键盘输入一个字符串,编程判断这个字符串是否是回文
时间: 2023-06-21 19:05:31 浏览: 164
可以使用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`。
运行此程序,用户输入一个数字后,它会告诉用户数字的位数以及它是否为回文数。
从键盘接收一个5位数,判断它是不是回文数
在编程中,回文数是指正读和反读都相同的数。对于一个5位数,判断它是不是回文数可以按照以下步骤进行:
1. 首先从键盘接收输入,并确保它是一个5位数。
2. 将这个5位数反转,可以使用字符串反转的方式,也可以通过数学运算。
3. 比较反转后的数和原始数是否相同。
4. 如果两者相同,则该数是回文数;如果不同,则不是回文数。
下面是一个简单的示例代码,用于判断输入的5位数是否为回文数(假设使用的是Java语言):
```java
import java.util.Scanner;
public class PalindromeCheck {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个5位数:");
int number = scanner.nextInt();
if (number >= 10000 && number <= 99999) {
if (isPalindrome(number)) {
System.out.println(number + " 是回文数。");
} else {
System.out.println(number + " 不是回文数。");
}
} else {
System.out.println("输入的数不是5位数,请重新输入!");
}
}
public static boolean isPalindrome(int number) {
int reversed = 0, original = number, remainder;
while (number != 0) {
remainder = number % 10;
reversed = reversed * 10 + remainder;
number /= 10;
}
return original == reversed;
}
}
```
阅读全文