📄 至强计算器.txt
字号:
}
if(s.equals("log")){
//按下log键后的情况,对于当前输入的数字log还是运算结果log,由以前一次的操作确定
//public calcSqrt()
if(equalSignPressIndicate||(numberPressIndicate==false)){
result=(Math.log(result))/(Math.log(10));
displayNumber=new Double(result);
tf.setText(displayNumber.toString());
}
else{
data1=(Math.log(data1))/(Math.log(10));
displayNumber=new Double(data1);
tf.setText(displayNumber.toString());
}
}
if(s.equals("a")){
}
if(s.equals("b")){
}
if(s.equals("->")){
}
if(s.equals("exp")){
//按下exp键后的情况,对于当前输入的数字exp还是运算结果exp,由以前一次的操作确定
//public calcSqrt()
if(equalSignPressIndicate||(numberPressIndicate==false)){
result=Math.exp(result);
displayNumber=new Double(result);
tf.setText(displayNumber.toString());
}
else{
data1=Math.exp(data1);
displayNumber=new Double(data1);
tf.setText(displayNumber.toString());
}
}
if(s.equals("y^x")){
//按下exp键后的情况,对于当前输入的数字exp还是运算结果exp,由以前一次的操作确定
//public calcSqrt()
if(equalSignPressIndicate||(numberPressIndicate==false)){
result=result;
displayNumber=new Double(result);
tf.setText(displayNumber.toString());
}
else{
result=data1;
displayNumber=new Double(result);
tf.setText(displayNumber.toString());
}
prec='p';
radixPointIndicate=false;
radixPointDepth=1;
numberPressIndicate=false;
data1=0;
}
if(s.equals("x^-2")){
}
if(s.equals("x^2")){
}
if(s.equals("(")){
}
if(s.equals(")")){
}
if(s.equals("")){
}
if(s.equals("")){
}
if(s.equals("OFF")){
System.exit(0);
}
if(s.equals("C")){
//以下六条语句为初始化计算器即清零
result=0;
data1=0;
prec='+';
radixPointDepth=1;
numberPressIndicate=false;
radixPointIndicate=false;
//显示数据
displayNumber=new Double(data1);
tf.setText(displayNumber.toString());
}
if(s.equals("CE")){
//以下六条语句为初始化计算器即清零
result=0;
data1=0;
prec='+';
radixPointDepth=1;
numberPressIndicate=false;
radixPointIndicate=false;
//显示数据
displayNumber=new Double(data1);
tf.setText(displayNumber.toString());
}
if(s.equals("Backspace")){
// if(radixPointIndicate){
// radixPointDepth=radixPointDepth*10;
// }
// else{
// data1=(data1/10);
// }
}
if(s.equals("MC")){
memDataIndicate=false;
memData=0;
}
if(s.equals("MR")&&memDataIndicate){
//按下sqrt键后的情况,对于当前输入的数字取开平方还是运算结果取开平方,由以前一次的操作确定
data1=memData;
equalSignPressIndicate=true;
radixPointDepth=1;
radixPointIndicate=false;
//显示数据
displayNumber=new Double(data1);
tf.setText(displayNumber.toString());
}
if(s.equals("MS")){
//按下sqrt键后的情况,对于当前输入的数字取开平方还是运算结果取开平方,由以前一次的操作确定
if(equalSignPressIndicate||(numberPressIndicate==false)){
memData=result;
//displayNumber=new Double(result);
//tf.setText(displayNumber.toString());
}
else{
memData=data1;
//displayNumber=new Double(data1);
//tf.setText(displayNumber.toString());
}
equalSignPressIndicate=true;
memDataIndicate=true;
prec='+';
radixPointDepth=1;
radixPointIndicate=false;
}
if(s.equals("M+")){
//按下sqrt键后的情况,对于当前输入的数字取开平方还是运算结果取开平方,由以前一次的操作确定
if(equalSignPressIndicate||(numberPressIndicate==false)){
memData=memData+result;
//displayNumber=new Double(result);
//tf.setText(displayNumber.toString());
}
else{
memData=memData+data1;
//displayNumber=new Double(data1);
//tf.setText(displayNumber.toString());
}
equalSignPressIndicate=true;
memDataIndicate=true;
prec='+';
radixPointDepth=1;
radixPointIndicate=false;
}
if(s.equals("sqrt")){
//按下sqrt键后的情况,对于当前输入的数字取开平方还是运算结果取开平方,由以前一次的操作确定
//public calcSqrt()
if(equalSignPressIndicate||(numberPressIndicate==false)){
result=Math.sqrt(result);
displayNumber=new Double(result);
tf.setText(displayNumber.toString());
}
else{
data1=Math.sqrt(data1);
displayNumber=new Double(data1);
tf.setText(displayNumber.toString());
}
}
//由于1键和1/x键的第一个字符都为1,+/-键和+键的第一个字符都为+,所以加此判断在数字和操作单字符输入程序前
if(s.equals("1/x")||s.equals("+/-")){
if(s.equals("1/x")){
//按下1/x键后的情况,对于当前输入的数字取倒数还是运算结果求倒数,由以前一次的操作确定
if(equalSignPressIndicate||(numberPressIndicate==false)){
result=1/result;
displayNumber=new Double(result);
tf.setText(displayNumber.toString());
}
else{
data1=1/data1;
displayNumber=new Double(data1);
tf.setText(displayNumber.toString());
}
}
if(s.equals("+/-")){
//按下+/-键后的情况,对于当前输入的数字取负数还是运算结果取负数,由以前一次的操作确定
if(equalSignPressIndicate||(numberPressIndicate==false)){
result=0-result;
displayNumber=new Double(result);
tf.setText(displayNumber.toString());
}
else{
data1=0-data1;
displayNumber=new Double(data1);
tf.setText(displayNumber.toString());
}
}
}
else{
switch(s.charAt(0)){
//数字输入程序
case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
//按完等号键后,直接按任何数字键,计算器认为应该清零后从新计算
if(equalSignPressIndicate){
//以下六条语句为初始化计算器即清零
result=0;
data1=0;
prec='+';
radixPointDepth=1;
numberPressIndicate=false;
radixPointIndicate=false;
}
Integer Int1=new Integer(s);
if(radixPointIndicate){
radixPointDepth=radixPointDepth/10;
data1=data1+(Int1.intValue())*radixPointDepth;
}
else{
data1=data1*10+(Int1.intValue());
}
numberPressIndicate=true;
equalSignPressIndicate=false;
//显示数据
displayNumber=new Double(data1);
tf.setText(displayNumber.toString());
break;
//在按+ - * / =号后处理程序
case '+': case '-':case '*':case '/':case '=':
if(s.charAt(0)!='='&&equalSignPressIndicate){
prec=s.charAt(0);
equalSignPressIndicate=false;
}
else{
switch(prec){
case '+':
result=result+data1;
break;
case '-':
result=result-data1;
break;
case '*':
result=result*data1;
break;
case '/':
result=result/data1;
break;
case 'p':
result=Math.pow(result,data1);
}
}
radixPointIndicate=false;
radixPointDepth=1;
numberPressIndicate=false;
if(s.charAt(0)!='='){
data1=0;
prec=s.charAt(0);
}
else{
equalSignPressIndicate=true;
}
//显示数据
displayNumber=new Double(result);
tf.setText(displayNumber.toString());
break;
case '.':
radixPointIndicate=true;
numberPressIndicate=true;
break;
case '%':
if(equalSignPressIndicate||(numberPressIndicate==false)){
result=result*100;
displayNumber=new Double(result);
tf.setText(displayNumber.toString());
}
else{
data1=data1/100;
displayNumber=new Double(data1);
tf.setText(displayNumber.toString());
}
break;
}
}
}
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -