📄 polybios.java
字号:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class polybios extends JApplet implements ActionListener
{
Container ctp=getContentPane();
ImageIcon icon1=new ImageIcon("g1.gif"),
icon2=new ImageIcon("g2.gif"),
icon3=new ImageIcon("g3.gif"),
icon4=new ImageIcon("g4.gif");
JLabel lb1=new JLabel("输入文字后按回车加密:",icon1,JLabel.CENTER),
lb2=new JLabel("输出结果:",icon2,JLabel.CENTER),
lb3=new JLabel("输入文字后按回车解密:",icon3,JLabel.CENTER),
lb4=new JLabel("输出结果:",icon4,JLabel.CENTER);
JTextField tf1=new JTextField(10),
tf3=new JTextField(10); //创建文本框对象
JTextArea tf2=new JTextArea(5,30),
tf4=new JTextArea(5,30); //创建文本区域对象
public void init()
{
ctp.setLayout(new FlowLayout());
ctp.add(lb1);
ctp.add(tf1);
ctp.add(lb2);
ctp.add(tf2);
ctp.add(lb3);
ctp.add(tf3);
ctp.add(lb4);
ctp.add(tf4);
tf1.addActionListener(this);
tf3.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
String str1,str3;
int i;
str1=tf1.getText(); //获得文本框的文本给str1(此方法是JTextComponent类的方法)
int len1=str1.length(); //获得字符串str1的长度
char shuzu1[]=new char[len1];
char shuzu2[]=new char[2*len1+1];
for(i=0;i<len1;i++) //将shuzu1转换成shuzu2,输出
{shuzu1[i]=str1.charAt(i); //将字符串转化成shuzu1
switch(shuzu1[i]){
case'A': {shuzu2[2*i]='O';shuzu2[2*i+1]='L';}break;
case'B': {shuzu2[2*i]='V';shuzu2[2*i+1]='U';}break;
case'C': {shuzu2[2*i]='E';shuzu2[2*i+1]='O';}break;
case'D': {shuzu2[2*i]='U';shuzu2[2*i+1]='O';}break;
case'E': {shuzu2[2*i]='E';shuzu2[2*i+1]='E';}break;
case'F': {shuzu2[2*i]='V';shuzu2[2*i+1]='L';}break;
case'G': {shuzu2[2*i]='E';shuzu2[2*i+1]='L';}break;
case'H': {shuzu2[2*i]='L';shuzu2[2*i+1]='E';}break;
case'I': {shuzu2[2*i]='I';shuzu2[2*i+1]='I';}break;
case'J': {shuzu2[2*i]='L';shuzu2[2*i+1]='O';}break;
case'K': {shuzu2[2*i]='O';shuzu2[2*i+1]='U';}break;
case'L': {shuzu2[2*i]='L';shuzu2[2*i+1]='L';}break;
case'M': {shuzu2[2*i]='E';shuzu2[2*i+1]='V';}break;
case'N': {shuzu2[2*i]='L';shuzu2[2*i+1]='U';}break;
case'O': {shuzu2[2*i]='O';shuzu2[2*i+1]='O';}break;
case'P': {shuzu2[2*i]='L';shuzu2[2*i+1]='V';}break;
case'Q': {shuzu2[2*i]='U';shuzu2[2*i+1]='V';}break;
case'R': {shuzu2[2*i]='V';shuzu2[2*i+1]='E';}break;
case'S': {shuzu2[2*i]='V';shuzu2[2*i+1]='O';}break;
case'T': {shuzu2[2*i]='O';shuzu2[2*i+1]='E';}break;
case'U': {shuzu2[2*i]='U';shuzu2[2*i+1]='U';}break;
case'V': {shuzu2[2*i]='V';shuzu2[2*i+1]='V';}break;
case'W': {shuzu2[2*i]='U';shuzu2[2*i+1]='E';}break;
case'X': {shuzu2[2*i]='U';shuzu2[2*i+1]='L';}break;
case'Y': {shuzu2[2*i]='E';shuzu2[2*i+1]='U';}break;
case'Z': {shuzu2[2*i]='O';shuzu2[2*i+1]='V';}break;
default: shuzu2[2*i]='_';break;
}
}
String str2=String.valueOf(shuzu2);
tf2.append(str2+"\n"); //将str2添加到文本区域中(append方法是JTextArea类的方法)
//加密完成
str3=tf3.getText();
int j,len3;
len3=str3.length();
char shuzu3[]=new char[len3];
char shuzu4[]=new char[len3/2+1];
if(len3%2==0)
{ for(j=0;j<len3;j++)
{shuzu3[j]=str3.charAt(j);}
for(j=0;j<len3;j=j+2)
{ if(shuzu3[j]=='O'&&shuzu3[j+1]=='L') shuzu4[j/2]='A';
else if(shuzu3[j]=='V'&&shuzu3[j+1]=='U') shuzu4[j/2]='B';
else if(shuzu3[j]=='E'&&shuzu3[j+1]=='O') shuzu4[j/2]='C';
else if(shuzu3[j]=='U'&&shuzu3[j+1]=='O') shuzu4[j/2]='D';
else if(shuzu3[j]=='E'&&shuzu3[j+1]=='E') shuzu4[j/2]='E';
else if(shuzu3[j]=='V'&&shuzu3[j+1]=='L') shuzu4[j/2]='F';
else if(shuzu3[j]=='E'&&shuzu3[j+1]=='L') shuzu4[j/2]='G';
else if(shuzu3[j]=='L'&&shuzu3[j+1]=='E') shuzu4[j/2]='H';
else if(shuzu3[j]=='I'&&shuzu3[j+1]=='I') shuzu4[j/2]='I';
else if(shuzu3[j]=='L'&&shuzu3[j+1]=='O') shuzu4[j/2]='J';
else if(shuzu3[j]=='O'&&shuzu3[j+1]=='U') shuzu4[j/2]='K';
else if(shuzu3[j]=='L'&&shuzu3[j+1]=='L') shuzu4[j/2]='L';
else if(shuzu3[j]=='E'&&shuzu3[j+1]=='V') shuzu4[j/2]='M';
else if(shuzu3[j]=='L'&&shuzu3[j+1]=='U') shuzu4[j/2]='N';
else if(shuzu3[j]=='O'&&shuzu3[j+1]=='O') shuzu4[j/2]='O';
else if(shuzu3[j]=='L'&&shuzu3[j+1]=='V') shuzu4[j/2]='P';
else if(shuzu3[j]=='U'&&shuzu3[j+1]=='V') shuzu4[j/2]='Q';
else if(shuzu3[j]=='V'&&shuzu3[j+1]=='E') shuzu4[j/2]='R';
else if(shuzu3[j]=='V'&&shuzu3[j+1]=='O') shuzu4[j/2]='S';
else if(shuzu3[j]=='O'&&shuzu3[j+1]=='E') shuzu4[j/2]='T';
else if(shuzu3[j]=='U'&&shuzu3[j+1]=='U') shuzu4[j/2]='U';
else if(shuzu3[j]=='V'&&shuzu3[j+1]=='V') shuzu4[j/2]='V';
else if(shuzu3[j]=='U'&&shuzu3[j+1]=='E') shuzu4[j/2]='W';
else if(shuzu3[j]=='U'&&shuzu3[j+1]=='L') shuzu4[j/2]='X';
else if(shuzu3[j]=='E'&&shuzu3[j+1]=='U') shuzu4[j/2]='Y';
else if(shuzu3[j]=='O'&&shuzu3[j+1]=='V') shuzu4[j/2]='Z';
}
String str4=String.valueOf(shuzu4);
tf4.append(str4+"\n");
}
else tf4.append("输入错误,请重新检查你输入的文本"+"\n");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -