📄 counter.java
字号:
tf1.setText(s+"c");
}
}
else if(label.equals("d"))
{
String s=tf1.getText();
if(s.equals("0"))
{
tf1.setText("d");
}
else
{
tf1.setText(s+"d");
}
}
else if(label.equals("e"))
{
String s=tf1.getText();
if(s.equals("0"))
{
tf1.setText("e");
}
else
{
tf1.setText(s+"e");
}
}
else if(label.equals("f"))
{
String s=tf1.getText();
if(s.equals("0"))
{
tf1.setText("f");
}
else
{
tf1.setText(s+"f");
}
}
else if(label.equals("CE"))//选择"CE"清零 e2.getSource()获取事件源对象
{
tf1.setText("0");//把显示屏清零
str.setLength(0);//清空字符串缓冲区以准备接收新的输入运算数
}
else if(label.equals("C"))//选择"C"清零
{
tf1.setText("0");//把显示屏清零
str.setLength(0);
}
else if(label.equals("+/-"))//单击"+/-"选择输入的运算数是正数还是负数
{
x=Double.parseDouble(tf1.getText().trim()); //trim -- 去除一个字符串开始和结尾的空白//Double.parseDouble(String s) 以字符串作为参数,返回相应的double型数据;返回str字符串被去除首尾空白后的新字符串,就是去掉字符串头和尾的空格.
tf1.setText(""+(-x));
}
else if(label.equals("+"))//单击加号按钮获得x的值和z的值并清空y的值
{
x=Double.parseDouble(tf1.getText().trim());
str.setLength(0);//清空缓冲区以便接收新的另一个运算数
y=0d;
z=0;
}
else if(label.equals("-"))//单击减号按钮获得x的值和z的值并清空y的值
{
x=Double.parseDouble(tf1.getText().trim());
str.setLength(0);
y=0d;
z=1;
}
else if(label.equals("*"))//单击乘号按钮获得x的值和z的值并清空y的值
{
x=Double.parseDouble(tf1.getText().trim());
str.setLength(0);
y=0d;
z=2;
}
else if(label.equals("/"))//单击除号按钮获得x的值和z的值并空y的值
{
x=Double.parseDouble(tf1.getText().trim());
str.setLength(0);
y=0d;
z=3;
}
else if(label.equals("="))//单击等号按钮输出计算结果
{
str.setLength(0);
switch(z)
{
case 0 : tf1.setText(""+(x+y));break;
case 1 : tf1.setText(""+(x-y));break;
case 2 : tf1.setText(""+(x*y));break;
case 3 : tf1.setText(""+(x/y));break;
//case 4 : tf1
}
}
else if(label.equals("."))//单击"."按钮输入小数
{
if(tf1.getText().trim().indexOf('.')!=-1)//判断字符串中是否已经包含了小数点;indexOf('.')搜索小数点;indexOf()进行判断,如果返回的不是-1,则该字符串含有indexOf()指定的子字符串
{
}
else//如果没有小数点
{
if(tf1.getText().trim().equals("0"))//如果初时显示为0
{
str.setLength(0);
tf1.setText((str.append("0"+e2.getActionCommand())).toString()); //append(String s) 将字符串添加到文本域的末尾
}
else if(tf1.getText().trim().equals(""))//如果初时显示为空则不做任何操作
{
}
else
{
tf1.setText(str.append(e2.getActionCommand()).toString()); //getActionCommand() 用来获取事件对象的命令名
}
}
y=0d;
}
else if(label.equals("sqrt"))//求平方根
{
x=Double.parseDouble(tf1.getText().trim());
tf1.setText("数字格式异常");
if(x<0)
tf1.setText("负数没有平方根");
else
tf1.setText(""+Math.sqrt(x));
str.setLength(0);
y=0d;
}
else if(label.equals("%"))//单击了"%"按钮
{
x=Double.parseDouble(tf1.getText().trim());
tf1.setText(""+(0.01*x));
str.setLength(0);
y=0d;
}
else if(label.equals("1/X"))//单击了"1/X"按钮
{
x=Double.parseDouble(tf1.getText().trim());
if(x==0)
{
tf1.setText("分母不能为零");
}
else
{
tf1.setText(""+(1/x));
}
str.setLength(0);
y=0d;
}
else if(label.equals("2to10"))
{
String s=tf1.getText();
int x=Integer.parseInt(s,2);//二进制数转换到十进制数
tf1.setText(""+x);
str.setLength(0);
y=0d;
}
else if(label.equals("8to10"))
{
String s=tf1.getText();
int x=Integer.parseInt(s,8);//八进制数转换到十进制数
tf1.setText(""+x);
str.setLength(0);
y=0d;
}
else if(label.equals("16to10"))
{
String s=tf1.getText();
int x=Integer.parseInt(s,16);//十六进制数转换到十进制数
tf1.setText(""+x);
str.setLength(0);
y=0d;
}
else if(label.equals("10to2"))
{
String s=tf1.getText();
String x=Integer.toBinaryString(Integer.parseInt(s));//十进制数转换到二进制数
tf1.setText(""+x);
str.setLength(0);
y=0d;
}
else if(label.equals("10to8"))
{
String s=tf1.getText();
String x=Integer.toOctalString(Integer.parseInt(s));//十进制数转换到八进制数
tf1.setText(""+x);
str.setLength(0);
y=0d;
}
else if(label.equals("10to16"))
{
String s=tf1.getText();
String x=Integer.toHexString(Integer.parseInt(s));//十进制数转换到十六进制数
tf1.setText(""+x);
str.setLength(0);
y=0d;
}
else if(label.equals("MC"))//MC为清除内存
{
m=0d;
tf2.setText("");
str.setLength(0);
}
else if(label.equals("MR"))//MR为重新调用存储的数据
{
if(tf2.getText().trim()!="")//有记忆数字
{
tf1.setText(""+m);
}
}
else if(label.equals("MS"))//MS为存储显示的数据
{
m=Double.parseDouble(tf1.getText().trim());
tf2.setText("M");
tf1.setText("0");
str.setLength(0);
}
else if(label.equals("M+"))//M+为将显示的数字与已经存储的数据相加要查看新的数字单击MR
{
m=m+Double.parseDouble(tf1.getText().trim());
}
else//选择的是其他的按钮
{
if(label.equals("0"))//如果选择的是"0"这个数字键
{
if(tf1.getText().trim().equals("0"))//如果显示屏显示的为零不做操作
{
}
else
{
tf1.setText(str.append(e2.getActionCommand()).toString());
y=Double.parseDouble(tf1.getText().trim());
}
}
else if(label.equals("Backspace"))//选择的是Backspace按钮!
{
if(!tf1.getText().trim().equals("0"))//如果显示屏显示的不是零
{
if(str.length()!=1)
{
tf1.setText(str.delete(str.length()-1,str.length()).toString());//可能抛出字符串越界异常
}
else
{
tf1.setText("0");
str.setLength(0);
}
}
y=Double.parseDouble(tf1.getText().trim());
}
else//其他的数字键
{
tf1.setText(str.append(e2.getActionCommand()).toString());
y=Double.parseDouble(tf1.getText().trim());
}
}
}
catch(NumberFormatException e)
{
tf1.setText("数字格式异常");
}
catch(StringIndexOutOfBoundsException e)
{
tf1.setText("字符串索引越界");
}
}
}
public static void main(String args[])
{
new Counter();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -