题目:
编写程序,验证一个字符串是否为回文串:是否从前读它和从后读它都是一样的。例如,mom,dad是回文串。该程序接收用户输入的字符串,判断是否为回文串,然后将判断的结果输出。在验证回文串时,忽略大小写、空格和标点。
代码:
import javax.swing.*;
/**
* Created by Intellij IDEA.
* User: specialfinger
* Date: 2021/11/22
*/
public class Reverse {
public static void main(String[] args){
boolean k=true;
String s= JOptionPane.showInputDialog("请输入字符串:");
String s1=s.toLowerCase().trim();//replace("^[a-zA-Z]","").
s1=s1.replaceAll(" +","");
s1=s1.replaceAll("[\\pP\\p{Punct}]","");
//System.out.println(s1);
for (int i=0;i<s1.length()/2;i++){
if (s1.charAt(i)!=s1.charAt(s1.length()-1-i)){
k=false;
break;
}
}
if (k){
String s2=s1+"是回文";
JOptionPane.showMessageDialog(null,s2);
}
else JOptionPane.showMessageDialog(null,s1+"不是回文");
}
}