Java实现输入字符串判断是否是回文
时间: 2023-08-31 20:34:53 浏览: 152
java判断输入一段字符串是不是回文
4星 · 用户满意度95%
### 回答1:
可以的,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 input = scanner.nextLine();
if (isPalindrome(input)) {
System.out.println(input + " 是回文字符串");
} else {
System.out.println(input + " 不是回文字符串");
}
}
public static boolean isPalindrome(String str) {
int i = 0;
int j = str.length() - 1;
while (i < j) {
if (str.charAt(i) != str.charAt(j)) {
return false;
}
i++;
j--;
}
return true;
}
}
```
其中,isPalindrome() 方法用于判断输入的字符串是否是回文字符串,该方法使用双指针方法,从字符串的两端同时遍历并比较,如果出现不相等的字符则不是回文字符串。
### 回答2:
编写一个Java程序,实现输入字符串判断是否是回文的功能。
首先,定义一个函数isPalindrome,该函数接受一个字符串作为参数,返回一个布尔值,表示该字符串是否是回文。回文是指正向和反向读取均相同的字符串。
在isPalindrome函数中,我们可以使用两个指针的方法来判断字符串是否是回文。我们分别使用一个指针从字符串的开头向后移动,另一个指针从字符串的末尾向前移动。在移动指针的过程中,比较对应位置的字符是否相等,如果不相等则返回false,如果字符串所有位置的字符都比较完毕还没有返回false,则说明该字符串是回文,返回true。
下面是完整的Java代码实现:
```java
public class PalindromeChecker {
public static boolean isPalindrome(String str) {
int start = 0;
int end = str.length() - 1;
while (start < end) {
if (str.charAt(start) != str.charAt(end)) {
return false;
}
start++;
end--;
}
return true;
}
public static void main(String[] args) {
String str = "level";
if (isPalindrome(str)) {
System.out.println("是回文");
} else {
System.out.println("不是回文");
}
}
}
```
以上代码中,我们定义了一个isPalindrome函数来判断字符串是否是回文。在main函数中,我们传入一个字符串"level"进行测试。由于该字符串是回文,所以最终输出"是回文"。如果我们传入一个不是回文的字符串,则输出"不是回文"。
这段代码通过使用两个指针的方法,实现了判断一个字符串是否是回文的功能。
### 回答3:
Java可以通过以下代码实现输入字符串判断是否是回文:
```java
import java.util.Scanner;
public class PalindromeCheck {
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("是回文字符串");
} else {
System.out.println("不是回文字符串");
}
}
/**
* 判断字符串是否是回文
*
* @param str 需要判断的字符串
* @return 是否是回文
*/
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;
}
}
```
以上代码首先获取用户输入的字符串,然后调用`isPalindrome`方法判断该字符串是否是回文。`isPalindrome`方法通过设置左右两个指针,从字符串两端向中间遍历,判断对应位置的字符是否相等。如果有一对字符不相等,则该字符串不是回文;如果所有对应位置的字符都相等,则该字符串是回文。根据最终的判断结果,输出相应的结果信息。
阅读全文