📄 frame1.java
字号:
jTshow.setText(a1.toString());//显示a1.
}
else{
a1.append("6");//a1不为0则在a1后加上按钮所代表的值
jTshow.setText(a1.toString());}//显示a1
}
/**按钮“7”的事件*/
void jBa_Num7_actionPerformed(ActionEvent e) {
if(b4==false){
b5=false;
}
else{b5=true;}
b6=false;
if(a1.length()<=23) //屏幕只能显示23位,判断a1的长度是否大于23,小于的话则执行后面语句
if(a1.toString().equals("0")){//判断a1的值是否为0如果为0则清空a1
a1=new StringBuffer("7");//为0则清空a1,把按钮说代表的值新赋给a1
jTshow.setText(a1.toString());//显示a1.
}
else{
a1.append("7");//a1不为0则在a1后加上按钮所代表的值
jTshow.setText(a1.toString());}//显示a1
}
/**按钮“8”的事件*/
void jBa_Num8_actionPerformed(ActionEvent e) {
if(b4==false){
b5=false;
}
else{b5=true;}
b6=false;
if(a1.length()<=23) //屏幕只能显示23位,判断a1的长度是否大于23,小于的话则执行后面语句
if(a1.toString().equals("0")){//判断a1的值是否为0如果为0则清空a1
a1=new StringBuffer("8");//为0则清空a1,把按钮说代表的值新赋给a1
jTshow.setText(a1.toString());//显示a1.
}
else{
a1.append("8");//a1不为0则在a1后加上按钮所代表的值
jTshow.setText(a1.toString());}//显示a1
}
/**按钮“9”的事件*/
void jBa_Num9_actionPerformed(ActionEvent e) {
if(b4==false){
b5=false;
}
else{b5=true;}
b6=false;
if(a1.length()<=23) //屏幕只能显示23位,判断a1的长度是否大于23,小于的话则执行后面语句
if(a1.toString().equals("0")){//判断a1的值是否为0如果为0则清空a1
a1=new StringBuffer("9");//为0则清空a1,把按钮说代表的值新赋给a1
jTshow.setText(a1.toString());//显示a1.
}
else{
a1.append("9");//a1不为0则在a1后加上按钮所代表的值
jTshow.setText(a1.toString());}//显示a1
}
/**小数点号按钮事件*/
void jBa_Opdel_actionPerformed(ActionEvent e) {
if(b4==false){
b5=false;
}
else{b5=true;}
b6=false;
if(b4==false){
b5=false;
}
else{b5=true;}
if (b2 == false) //判断如果b2=false即“.”未输入过则执行下面的语句
if (a1.length() <= 23) //屏幕只能显示23位,判断a1的长度是否大于23,小于的话则执行后面语句
if (a1.toString().equals("") == false
&& a1.toString().equals("0.") == false
&&jTshow.getText().equals("Infinity")==false) {
//判断在a1不为空不为“Infinity”和“0.”的情况下在在其后添加“.”,避免发生程序异常 Infinity
a1.append(".");
jTshow.setText(a1.toString()); //显示a1
b2 = true; //判断已按下过“.”号,b1设为true使得本次值不再能输入“.”号
}
else {
a1 = new StringBuffer("0."); //当a1为空值或“0.”时,则直接为a1赋值“0.”
jTshow.setText(a1.toString()); //显示a1
b2 = true; //判断已按下过“.”号,b1设为true使得本次值不再能输入“.”号
}
}
/**加号按钮事件*/
void jBa_Opadd_actionPerformed(ActionEvent e) {
this.operator();
b5=false;
b6=false;
b1=1;//为b1赋值为1,定义加法判断为b1=1;
}
/**减号按钮事件*/
void jBa_Opminus_actionPerformed(ActionEvent e) {
this.operator();
b5=false;
b6=false;
b1=2;//为b1赋值为5,定义减法判断为b1=2;
}
/**乘号按钮事件*/
void jBa_Opmultiply_actionPerformed(ActionEvent e) {
this.operator();
b5=false;
b6=false;
b1=3;//为b1赋值为3,定义乘法判断为b1=3;
}
/**除号按钮事件*/
void jBa_Opdivision_actionPerformed(ActionEvent e) {
this.operator();
b5=false;
b6=false;
b1=4;//为b1赋值为4,定义除法判断为b1=4;
}
/**等号按钮的事件*/
void jBa_Opequal_actionPerformed(ActionEvent e) {
try{
if(b6==false){
c2 = Float.valueOf(jTshow.getText()).floatValue(); //把屏幕值赋给c2缓存起来
d1=b1;
}
else{c1=c3;}
a1=new StringBuffer("");//清空a1的值,以便运算后可以重新输入
a1.append("");
b2=false;//b2返回false,再次允许输入“.”号
b4=false;
b5=false;
}
catch(Exception r){
b1=0;
jTshow.setText("0.");
a1=new StringBuffer("");
a1.append("");
b2=false;//b2返回false,再次允许输入“.”号
}
this.count(d1);
b1 = 0; //把运算判断变量赋为“0”,清空本次运算法则
b6=true;//表示等号已经按下一次,再按就执行不间断按等号的模块
}
/**按钮“0”的事件*/
void jBa_Num0_actionPerformed(ActionEvent e) {
if(b4==false){
b5=false;
}
else{b5=true;}
b6=false;
if(a1.toString().equals("0")==false){//判断a1不为0则在a1后添加“0”
a1.append("0");
jTshow.setText(a1.toString());//显示
}
}
/**按钮“CE(清零)”的事件*/
void jBb_CE_actionPerformed(ActionEvent e) {
c1=0;//清空第一个数的缓存值
a1=new StringBuffer("");//清空a1
jTshow.setText("0.") ;//显示初始屏幕
b2=false;//b2返回false,再次允许输入“.”号
b1=0;//把运算判断变量赋为“0”
b4=false;
b5=false;
b6=false;
}
/**按钮"E(亿)"的事件*/
void jBb_VE_actionPerformed(ActionEvent e) {
if(b4==false){
b5=false;
}
else{b5=true;}
b6=false;
try{float ee=10000000*Float.valueOf(jTshow.getText()).floatValue();//将原数乘以1千万
if(ee==0||jTshow.getText().equals("Infinity")||jTshow.getText().equals("-Infinity")||jTshow.getText().equals("NaN")){//e==0则清空缓存
jTshow.setText("0.");
a1=new StringBuffer("");
b2=false;//b2返回false,再次允许输入“.”号
}
else{ jTshow.setText(String.valueOf(ee));
a1=new StringBuffer(jTshow.getText());}}
catch(Exception r){
jTshow.setText("0.");
a1=new StringBuffer("");
b2=false;//b2返回false,再次允许输入“.”号
}
}
/**负号按钮的事件*/
void jButton6_actionPerformed(ActionEvent e) {
if(b4==false){
b5=false;
}
else{b5=true;}
b6=false;
//用0减去当前数再返回给当前数
float h=0-Float.valueOf(jTshow.getText()).floatValue();
if(h==0){//判断当前数是0和非0的两种情况
jTshow.setText("0.");
a1=new StringBuffer("");
b2=false;//b2返回false,再次允许输入“.”号
}
else{
jTshow.setText(String.valueOf(h));
a1=new StringBuffer(jTshow.getText());
}
}
/**按钮“M”的事件*/
void jButton4_actionPerformed(ActionEvent e) {
if(b4==false){
b5=false;
}
else{b5=true;}
b6=false;
if(jTshow.getText().equals("Infinity")){
jTshow.setText("0.");
a1=new StringBuffer("");
}
else{
if(b3==false){//判断M是否有值
M=jTshow.getText();//把数字记入M
a1=new StringBuffer("");
b3=true;
jButton4.setForeground(Color.GREEN);//按钮“M”字体变绿,告诉用户M已经储存了值
}
else{
jTshow.setText(M) ;//显示M的值出来
a1=new StringBuffer("");
}
}
}
/**按钮“M-”的事件*/
void jButton3_actionPerformed(ActionEvent e) {
b3=false;//清空M里面的值
jButton4.setForeground(Color.black);//把“M”按钮字体颜色变黑,告诉用户M无值
}
/**常量pi按钮的事件*/
void jButton39_actionPerformed(ActionEvent e) {
if(b4==false){
b5=false;
}
else{b5=true;}
b6=false;
double p=Math.PI;//获得pi的值
a1=new StringBuffer(String.valueOf(p));//为0则清空a1,把按钮说代表的值新赋给a1
jTshow.setText(a1.toString());//显示a1.
a1=new StringBuffer("");
}
/**退格键的事件*/
void jButton2_actionPerformed(ActionEvent e) {
try{ //判断屏幕显示是否是无穷大小或非数
if(jTshow.getText().equals("Infinity")||
jTshow.getText().equals("-Infinity")||
jTshow.getText().equals("NaN")){
jTshow.setText("0.");
a1=new StringBuffer("");
b2=false;//b2返回false,再次允许输入“.”号
}
else{
a1.setLength(a1.length()-1);//a1长度减1已达到退一格的效果
jTshow.setText(String.valueOf(a1));
b2=false;//b2返回false,再次允许输入“.”号
if(a1.length()==0){//判断a1长度为0时就清空
jTshow.setText("0");
a1=new StringBuffer("");
b2=false;//b2返回false,再次允许输入“.”号
}
}
}
catch(Exception ac){}
}
/**求余按钮“%”的按钮事件*/
void jButton8_actionPerformed(ActionEvent e) {
this.operator();
b5=false;
b6=false;
b1=5;//为b1赋值为5,定义求余判断为b1=5;
}
/**指数计算按钮“exp”按钮的事件*/
void jButton36_actionPerformed(ActionEvent e) {
if(b4==false){
b5=false;
}
else{b5=true;}
b6=false;
try{double ee=Math.exp(Double.parseDouble(jTshow.getText()));
if(ee==0||jTshow.getText().equals("Infinity")||jTshow.getText().equals("-Infinity")||jTshow.getText().equals("NaN")){//e==0则清空缓存
jTshow.setText("0.");
a1=new StringBuffer("");
b2=false;//b2返回false,再次允许输入“.”号
}
else{ jTshow.setText(String.valueOf(ee));
a1=new StringBuffer("");}}
catch(Exception r){
jTshow.setText("0.");
a1=new StringBuffer("");
b2=false;//b2返回false,再次允许输入“.”号
}
}
/**平方按钮的事件*/
void jButton28_actionPerformed(ActionEvent e) {
if(b4==false){
b5=false;
}
else{b5=true;}
b6=false;
try{float ee=Float.valueOf(jTshow.getText()).floatValue()*Float.valueOf(jTshow.getText()).floatValue();//将原数平方
if(ee==0||jTshow.getText().equals("Infinity")||jTshow.getText().equals("-Infinity")||jTshow.getText().equals("NaN")){//e==0则清空缓存
jTshow.setText("0.");
a1=new StringBuffer("");
b2=false;//b2返回false,再次允许输入“.”号
}
else{ jTshow.setText(String.valueOf(ee));
a1=new StringBuffer("");}}
catch(Exception r){
jTshow.setText("0.");
a1=new StringBuffer("");
b2=false;//b2返回false,再次允许输入“.”号
}
}
/**开方按钮*/
void jButton35_actionPerformed(ActionEvent e) {
if(b4==false){
b5=false;
}
else{b5=true;}
b6=false;
try{
double ee=Math.pow(Double.valueOf(jTshow.getText()).doubleValue(),0.5);//将原数开方
if(ee==0||jTshow.getText().equals("Infinity")||jTshow.getText().equals("-Infinity")||jTshow.getText().equals("NaN")){//e==0则清空缓存
jTshow.setText("0.");
a1=new StringBuffer("");
b2=false;//b2返回false,再次允许输入“.”号
}
else{ jTshow.setText(String.valueOf(ee));
a1=new StringBuffer("");}}
catch(Exception r){
jTshow.setText("0.");
a1=new StringBuffer("");
b2=false;//b2返回false,再次允许输入“.”号
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -