📄 keycreater.java
字号:
/*
说明:
此类“循环”产生并返回一个密匙字符
此字符的范围已定义。
原理:
先调用getKey()方法返回密匙字符
然后调用next()方法将密匙字符下移一位!(下次取得的字符就是已经移位了的密匙字符)
*/
public class KeyCreater{
private char keyFirst = ' '; //定义要产生的字符对应的值最小的字符
private char keyEnd = '~'; //定义要产生的字符对应的值最大的字符
private int first = keyFirst;
private int end = keyEnd;
private int i= first;
private boolean isEnd = false;
private boolean willEnd = false;
private char key = (char)this.i;
//判断是否要进位返回boolean值(在(PasswordCreater类)验证是否产生新密码时使用)
public boolean isEnd(){
return this.isEnd;
}
//判断下一次是否要进位 返回boolean值
public boolean willEnd(){
return this.willEnd;
}
//将key转到下一个
public void next(){
if(this.i==this.end){ //密匙字符产生到定义的end值时
this.i = this.first; //将i回归first开始产生密匙字符
this.willEnd = true; //告诉外部程序要进位了(即前一位的值加1)
this.isEnd = true; //告诉外部程序密码长度该增加了
}else{
this.i++;
}
this.key = (char)this.i;
}
//取出key的值返回char值
public char getKey(){
return this.key;
}
//设置willEnd的值为fasle,在下一次调用next()方法时从初始值开始产生新密码(避免误进位!)
public void setWillEnd(){
this.willEnd = false;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -