java EJB 加密与解密原理的一个例子

  作者:bea

加密与解密原理的一个例子 packagelockunlock; importJava.awt.*; importjava.awt.event.*; importjava.Applet.*; importjavax.Swing.*; importjava.util.*; publicclassLockUnlockextendsJApplet{ privatebooleanisStandalone=false; //Getaparametervalue publicStringg
加密与解密原理的一个例子



package lockunlock; 



import Java.awt.*; 

import java.awt.event.*; 

import java.Applet.*; 

import javax.Swing.*; 

import java.util.*; 

public class LockUnlock extends JApplet { 

private boolean isStandalone = false; 

//Get a parameter value 

public String getParameter(String key, String def) { 

return isStandalone ? System.getProperty(key, def) : 

(getParameter(key) != null ? getParameter(key) : def); 





//Construct the applet 

public LockUnlock() { 



//Initialize the applet 

public void init() { 

try { 

jbInit(); 



catch(Exception e) { 

e.printStackTrace(); 





//Component initialization 

private void jbInit() throws Exception { 

contentPane = (JPanel) this.getContentPane(); 

jLabel1.setText("String"); 

jLabel1.setBounds(new Rectangle(35, 36, 57, 21)); 

contentPane.setLayout(null); 

this.setSize(new Dimension(400, 300)); 

jLabel2.setText("String length"); 

jLabel2.setBounds(new Rectangle(29, 73, 69, 22)); 

jTextField1.setText(""); 

jTextField1.setBounds(new Rectangle(108, 40, 166, 17)); 

jTextField2.setText(""); 

jTextField2.setBounds(new Rectangle(107, 72, 56, 21)); 

jButton1.setBounds(new Rectangle(30, 236, 137, 27)); 

jButton1.setText("Exercise 3"); 

jButton1.addActionListener(new LockUnlock_jButton1_actionAdapter(this)); 

jButton2.setBounds(new Rectangle(218, 237, 131, 27)); 

jButton2.setText("Exercise 4"); 

jButton2.addActionListener(new LockUnlock_jButton2_actionAdapter(this)); 

jTextField3.setText(""); 

jTextField3.setBounds(new Rectangle(106, 105, 58, 21)); 

jLabel3.setText("MoShu"); 

jLabel3.setBounds(new Rectangle(36, 106, 86, 18)); 

contentPane.add(jLabel1, null); 

contentPane.add(jButton2, null); 

contentPane.add(jButton1, null); 

contentPane.add(jLabel3, null); 

contentPane.add(jTextField2, null); 

contentPane.add(jLabel2, null); 

contentPane.add(jTextField3, null); 

contentPane.add(jTextField1, null); 





//Get Applet information 

public String getAppletInfo() { 

return "Applet Information"; 



//Get parameter info 

public String[][] getParameterInfo() { 

return null; 



//Main method 

public static void main(String[] args) { 

LockUnlock applet = new LockUnlock(); 

applet.isStandalone = true; 

JFrame frame = new JFrame(); 

//EXIT_ON_CLOSE == 3 

frame.setDefaultCloseOperation(3); 

frame.setTitle("Applet Frame"); 

frame.getContentPane().add(applet, BorderLayout.CENTER); 

applet.init(); 

applet.start(); 

frame.setSize(400,320); 

Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); 

frame.setLocation((d.width - frame.getSize().width) / 2, (d.height - frame.getSize().height) / 2); 

frame.setVisible(true); 





//static initializer for setting look & feel 

static { 

try { 

//UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 

//UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); 



catch(Exception e) { 





//Declare DataMember 

int index; 



//----------------------------------------------------- 

JPanel contentPane; 

JLabel jLabel1 = new JLabel(); 

JLabel jLabel2 = new JLabel(); 

JTextField jTextField2 = new JTextField(); 

JTextField jTextField1 = new JTextField(); 

JButton jButton1 = new JButton(); 

JButton jButton2 = new JButton(); 

JTextField jTextField3 = new JTextField(); 

JLabel jLabel3 = new JLabel(); 



//----------------------N!------------------------------ 

public int function(int N){ 

if(N==1) 

return 1; 

else{ 

return N*function(N-1); 

/*不是RETURN function(N-1); 

而是 N*function(N-1);*/ 





//-----------用递归法求一个串的全排列----------------------- 

public void Arrange(String prefix,String suffix,int[] Array){ 

String newPrefix,newSuffix; 

int numOfChars =suffix.length(); 

if(numOfChars==1){ 

Array[index]=Integer.parseInt(prefix+suffix); 

index++; 



else{ 

for(int i=1; i<=numOfChars;i++){ 

newSuffix=suffix.substring(1,numOfChars); 

newPrefix=prefix+suffix.charAt(0); 

Arrange(newPrefix,newSuffix,Array); 

suffix=newSuffix+suffix.charAt(0); 







//----------Arrange From the Min to the Max------------------ 

/*public void RankForArrange(int[] Array){ 

int bottom=Array.length-1 ; 

int temp; 

for(int i=bottom;i>0;i--){ 

for(int j=0;j<i;j++){ 

if(Array[j]>Array[j+1]){ 

temp =Array[j]; 

Array[j] =Array[j+1]; 

Array[j+1]=temp; 









*/ 

//-------------------Find the aim number---------------------- 

public int FindAim(int aim,int[] Array){ 

boolean isFound=false; 

int location=0; 

int length=Array.length ; 

for(int i=0;i<length;i++){ 

if(Array[i]==aim){ 

location=i; 

isFound =true; 





if(isFound) 

return location; 

else 

System.out.println("Not Found"); 

return location; 

/*在if里return 不行吗?*/ 





//------------------Creat String------------------------------- 

public String CreatString(int length){ 

StringBuffer BufString=new StringBuffer(); 

for(int i=1;i<=length;i++){ 

BufString.append(i) ; 



return BufString.toString(); 



//-----------OutPut Result-------------------- 

public void OutPutResult1(){ 

index = 0; //clear to 0 

String AimString, prefix; 

AimString = jTextField1.getText(); 

int Length = AimString.length(); 

String strLength = String.valueOf(Length); 

int Aim = Integer.parseInt(AimString); 

/* 方法.parseInt才是转换为int类型 

而不是.getInteger*/ 

int[] EachArrange = new int[this.function(Length)]; 

jTextField2.setText(strLength); 

prefix = ""; //Make an empty String 

if (AimString.length() > 2 && 

AimString.length() < 9 && AimString != "") { 

Arrange(prefix, AimString, EachArrange); 

//RankForArrange(EachArrange); 

Arrays.sort(EachArrange); 

String result = String.valueOf(FindAim(Aim, EachArrange)); 

jTextField3.setText(result); 



else { 

System.out.println("Your String is too short"); 







//----------Out put result 2--------------------- 

public void OutPutRestlt2(){ 

index=0;//Let index come back to 0 

String strLength, strMoShu, 

AimString, prefix,suffix; 

int Length, MoShu,limit; 

strLength = jTextField2.getText(); 

strMoShu = jTextField3.getText(); 

Length = Integer.parseInt(strLength); 

MoShu = Integer.parseInt(strMoShu); 

limit = function(Length); 

int[] EachArrange = new int[this.function(Length)]; 

if (Length > 2&&Length<9&& 

strLength!=""&&strMoShu!="" 

&&MoShu<limit) { 

prefix = ""; 

suffix =CreatString(Length); 

Arrange(prefix, suffix, EachArrange); 

Arrays.sort(EachArrange); 

String strResult=String.valueOf(EachArrange[MoShu]); 

jTextField1.setText(strResult); 



else 

System.out.println("Input Ouf MoShu, Try again") ; 





void jButton1_actionPerformed(ActionEvent e) { 

this.OutPutResult1(); 





void jButton2_actionPerformed(ActionEvent e) { 

this.OutPutRestlt2(); 



//----------------------------------------------------------- 







class LockUnlock_jButton1_actionAdapter implements java.awt.event.ActionListener { 

LockUnlock adaptee; 



LockUnlock_jButton1_actionAdapter(LockUnlock adaptee) { 

this.adaptee = adaptee; 



public void actionPerformed(ActionEvent e) { 

adaptee.jButton1_actionPerformed(e); 







class LockUnlock_jButton2_actionAdapter implements java.awt.event.ActionListener { 

LockUnlock adaptee; 



LockUnlock_jButton2_actionAdapter(LockUnlock adaptee) { 

this.adaptee = adaptee; 



public void actionPerformed(ActionEvent e) { 

adaptee.jButton2_actionPerformed(e); 



}






有用  |  无用

猜你喜欢