怎么在键盘上输入任意40个字符,并查找其中符合回文条件的字符串,然后将回文字符串输出。
代码用java
可以使用Java的Scanner类从控制台输入字符串,然后对输入的字符串进行处理,找出符合回文条件的子字符串并输出:
import java.util.Scanner;
public class Palindrome {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入40个字符:");
String input = scanner.nextLine();
scanner.close();
for (int i = 0; i < input.length(); i++) {
for (int j = i + 1; j <= input.length(); j++) {
String sub = input.substring(i, j);
if (isPalindrome(sub)) {
System.out.println(sub);
}
}
}
}
// 判断一个字符串是否是回文字符串
private static boolean isPalindrome(String str) {
int len = str.length();
for (int i = 0; i < len / 2; i++) {
if (str.charAt(i) != str.charAt(len - i - 1)) {
return false;
}
}
return true;
}
}
上述代码中,首先通过Scanner类从控制台输入一个字符串,然后对字符串进行处理,在其中查找符合回文条件的子字符串并输出。具体实现中,使用两重循环遍历所有可能的子字符串,然后对每个子字符串调用isPalindrome()方法判断是否是回文字符串。isPalindrome()方法的实现比较简单,就是将字符串分为左右两半,然后从两端开始比较字符是否相同。如果相同,则继续比较下一个字符,否则直接返回false。
需要注意的是,上述代码中只输出了符合回文条件的子字符串,如果需要输出所有的子字符串以及它们是否是回文字符串,可以将输出语句放在if语句之前。