java全局变量被释放_java中如何清除一个全局变量的字符串原来的值

importjava.awt.*;importjava.awt.event.*;publicclassRegisterMyeclipseextendsFrameimplementsActionListener{//定义全局变量Stringmessage=newString();//创建一个空的串变量,Stri...

import java.awt.*;

import java.awt.event.*;

public class RegisterMyeclipse extends Frame implements ActionListener{

//定义全局变量

String message = new String();//创建一个空的串变量,String不能修改,StringBuffer可以修改

StringBuffer messageTest = new StringBuffer();

String key = new String("XINGCHUIPINGYEKUOYUEYONGDAJIANGLIU");

StringBuffer secretMessage = new StringBuffer();

private TextField input = new TextField();

private TextArea output = new TextArea();

private Button Test = new Button("Test");

private Button Enter = new Button("Enter");

private Button Encryption = new Button("Encryption");

private class WindowCloser extends WindowAdapter{

public void windowClosing(WindowEvent we) {

System.exit(0); }

}

public RegisterMyeclipse(){

super("My Vigenre System");

setup();

Encryption.addActionListener(this);

Test.addActionListener(this);

Enter.addActionListener(this);

addWindowListener(new WindowCloser());

pack(); setVisible(true);

}

public void actionPerformed(ActionEvent e) {

if (e.getSource() == Enter) {

output.append("This is the plaintext:"+input.getText()+"\n");

message=input.getText();

}

else if (e.getSource() == Encryption) {

output.append("This is ciphertext:");

for(int i = 0;i < message.length();i++){//i要定义为局部变量,如果是全局变量无法指向字符串的每个字符

char m;

char k;

char s;

m = message.charAt(i);

k = key.charAt(i);

s =(char) ((m-65+k-65)%26+65);

secretMessage.append(s);

}

output.append(secretMessage.toString()+"\n");//append后要跟string

}

else if (e.getSource() == Test) {

output.append("Is the encryption right or wrong? ");

for(int i = 0;i < secretMessage.length();i++){//i要定义为局部变量,如果是全局变量无法指向字符串的每个字符

char a;

char k;

char c;

a = secretMessage.charAt(i);

k = key.charAt(i);

c =(char) ((91-a+k-65)%26+65);

messageTest.append(c);

}

if (message.equals(messageTest.toString())){//判断两字符串是否相等

output.append("Right\n");

}

else{

output.append("Wrong\n");

}

}

}

private void setup(){

Panel top = new Panel();

top.setLayout(new BorderLayout());

top.add("North",input);

top.add("East",Enter);

top.add("Center",Encryption);

top.add("South",Test);

setLayout(new BorderLayout());

add("North",top); add("Center",output);

}

public static void main(String args[])

{ RegisterMyeclipse tat = new RegisterMyeclipse(); }

}

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值