package homeWork;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JApplet;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class Palindrome extends JApplet implements ActionListener{//判断是否为回文
private static final long serialVersionUID = 1L;
JTextField inpuTextField;
JLabel inputLabel;
JTextArea outputArea;
boolean judge;
String outputString;
String input;
char chars[];
String changeString="";
public void init() {
Container container=getContentPane();
container.setLayout(new FlowLayout());
inputLabel=new JLabel("Please input:");
container.add(inputLabel);
inpuTextField=new JTextField(10);
inpuTextField.addActionListener(this);
container.add(inpuTextField);
outputArea=new JTextArea();
container.add(outputArea);
}
public void actionPerformed(ActionEvent event) {
input=inpuTextField.getText();
char array[]=input.toCharArray();
change(array);//将数组转换为不含空格和标点符号
judge=testPalindrome(changeString);
display(judge);
}
public void change(char array[]) {
int i=0;
changeString="";
for(;i<array.length;i++)
if((array[i]>=65 && array[i]<=90)||(array[i]>=97 && array[i]<=122)) {
changeString+=array[i];
}
}
public boolean testPalindrome(String test) {
char array[]=test.toCharArray();
int n=array.length-1;
for(int i=0;i<array.length/2;i++) {
if(array[i]!=array[n])
return false;
else
n--;
}
return true;
}
public void display(boolean judge) {
outputString=input+" is ";
if(judge)
outputString+="a Palindrome.";
else
outputString+="not a Palindrome.";
outputArea.setText(outputString);
}
}