📄 where_1.java
字号:
//计算器2008-10-31
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class Where_1 extends Frame implements ActionListener{
Label la=new Label("0");
String[] str={new String(""),new String(""),new String("")};
String s=""; //储存运算符号
int a=0; int b=1; int d=0;
double num0,num1;
public void change(){
if(a==0){
a=1;b=0;
}
else {
a=0;b=1;
}
}
//数据转换
public void conversion(){
num0=Double.parseDouble(str[a]);
num1=Double.parseDouble(str[b]);
}
//强行运算
public void CalculationOfForce(){
if(str[a].equals("")||str[b].equals("")){
if(str[a].equals("")) la.setText(str[b]);
if(str[b].equals("")) la.setText(str[a]);
}
else {
if(s.equals("+")) Adder();
else if(s.equals("-")) Subtraction();
else if(s.equals("*")) Multiplication();
else if(s.equals("/")) Division();
}
}
//除法
public void Division(){
if(str[a].equals("0")) la.setText("除数不能为0!");
else{
conversion();
str[b]=String.valueOf(num1/num0);
la.setText(str[b]);
}
}
//乘法
public void Multiplication(){
conversion();
str[b]=String.valueOf(num0*num1);
la.setText(str[b]);
}
//减法
public void Subtraction(){
num0=Double.parseDouble(str[a]);
num1=Double.parseDouble(str[b]);
str[b]=String.valueOf(num1-num0);
la.setText(str[b]);
}
//加法
public void Adder(){
conversion();
str[b]=String.valueOf(num1+num0);
la.setText(str[b]);
}
//取出数字开头的0
public void RemovalZero(){
if(str[a].startsWith("0")) {
if(str[a].length()==1) str[a]="";
else str[a].substring(1,str[a].length());
}
}
public Where_1(String title){
super(title);
setLayout(null);
setBackground(new Color(166,166,166));
Button n0=new Button("0");
n0.addActionListener(this);
Button n1=new Button("1");
n1.addActionListener(this);
Button n2=new Button("2");
n2.addActionListener(this);
Button n3=new Button("3");
n3.addActionListener(this);
Button n4=new Button("4");
n4.addActionListener(this);
Button n5=new Button("5");
n5.addActionListener(this);
Button n6=new Button("6");
n6.addActionListener(this);
Button n7=new Button("7");
n7.addActionListener(this);
Button n8=new Button("8");
n8.addActionListener(this);
Button n9=new Button("9");
n9.addActionListener(this);
Button backspack=new Button("backspack");
backspack.addActionListener(this);
Button ce=new Button("CE");
ce.addActionListener(this);
Button c=new Button("C");
c.addActionListener(this);
Button a=new Button("+/-");
a.addActionListener(this);
Button add=new Button("+");
add.addActionListener(this);
Button sub=new Button("-");
sub.addActionListener(this);
Button mul=new Button("*");
mul.addActionListener(this);
Button div=new Button("/");
div.addActionListener(this);
Button numpoint=new Button(".");
numpoint.addActionListener(this);
Button sqrt=new Button("sqrt");
sqrt.addActionListener(this);
Button percent=new Button("%");
percent.addActionListener(this);
Button countdown=new Button("1/x");
countdown.addActionListener(this);
Button equate=new Button("=");
equate.addActionListener(this);
Button mc=new Button("MC");
Button mr=new Button("MR");
Button ms=new Button("MS");
Button ma=new Button("M+");
la.setBounds(20,60,250,30);
backspack.setBounds(20,100,70,30);
ce.setBounds(110,100,70,30);
c.setBounds(200,100,70,30);
mc.setBounds(20,140,30,30);
n7.setBounds(63,140,35,30);
n8.setBounds(106,140,35,30);
n9.setBounds(149,140,35,30);
div.setBounds(192,140,35,30);
sqrt.setBounds(235,140,35,30);
mr.setBounds(20,180,30,30);
n4.setBounds(63,180,35,30);
n5.setBounds(106,180,35,30);
n6.setBounds(149,180,35,30);
mul.setBounds(192,180,35,30);
percent.setBounds(235,180,35,30);
ms.setBounds(20,220,30,30);
n1.setBounds(63,220,35,30);
n2.setBounds(106,220,35,30);
n3.setBounds(149,220,35,30);
sub.setBounds(192,220,35,30);
countdown.setBounds(235,220,35,30);
ma.setBounds(20,260,30,30);
n0.setBounds(63,260,35,30);
a.setBounds(106,260,35,30);
numpoint.setBounds(149,260,35,30);
add.setBounds(192,260,35,30);
equate.setBounds(235,260,35,30);
add(la);
add(backspack); add(ce); add(c);
add(mc); add(n7); add(n8); add(n9); add(div); add(sqrt);
add(mr); add(n4); add(n5); add(n6); add(mul); add(percent);
add(ms); add(n1); add(n2); add(n3); add(sub); add(countdown);
add(ma); add(n0); add(a); add(numpoint); add(add); add(equate);
MyMenuBar mb=new MyMenuBar(this);
mb.addMenus(new String[]{"编辑","查看","帮助"});
mb.addMenuItems(0,new String[]{"复制","粘贴",null,"退出"});
mb.addMenuItems(1,new String[]{"标准型","科学型",null,"数字分组"});
mb.addMenuItems(2,new String[]{"帮助主题",null,"关于计算器"});
mb.addActionListener(this);
addWindowListener(new WindowAdapter (){
public void windowClosing(WindowEvent e){
Where_1.this.dispose();
}
});
}
//覆盖
public void actionPerformed(ActionEvent e){
String selected=e.getActionCommand();
if(selected.equals("退出")){
dispose();
}
else if(selected.equals("backspack")){
la.setText("0");
}
else if(selected.equals("C")){
la.setText("0");
str[0]=""; str[1]=""; str[2]=""; s=""; a=0; b=1; d=0;
}
else if(selected.equals(".")){
str[2]=e.getActionCommand();
str[a]=str[a]+str[2];
la.setText(str[a]);
}
else if(selected.equals("0")){
str[2]=e.getActionCommand();
str[a]=str[a]+str[2];
la.setText(str[a]);
}
else if(selected.equals("1")){
str[2]=e.getActionCommand();
str[a]=str[a]+str[2];
la.setText(str[a]);
}
else if(selected.equals("2")){
str[2]=e.getActionCommand();
str[a]=str[a]+str[2];
la.setText(str[a]);
}
else if(selected.equals("3")){
str[2]=e.getActionCommand();
str[a]=str[a]+str[2];
la.setText(str[a]);
}
else if(selected.equals("4")){
str[2]=e.getActionCommand();
str[a]=str[a]+str[2];
la.setText(str[a]);
}
else if(selected.equals("5")){
str[2]=e.getActionCommand();
str[a]=str[a]+str[2];
la.setText(str[a]);
}
else if(selected.equals("6")){
str[2]=e.getActionCommand();
str[a]=str[a]+str[2];
la.setText(str[a]);
}
else if(selected.equals("7")){
str[2]=e.getActionCommand();
str[a]=str[a]+str[2];
la.setText(str[a]);
}
else if(selected.equals("8")){
str[2]=e.getActionCommand();
str[a]=str[a]+str[2];
la.setText(str[a]);
}
else if(selected.equals("9")){
str[2]=e.getActionCommand();
str[a]=str[a]+str[2];
la.setText(str[a]);
}
else if(selected.equals("+")){
s=selected;
change();
}
else if(selected.equals("-")){
s=selected;
change();
}
else if(selected.equals("*")){
s=selected;
change();
}
else if(selected.equals("/")){
s=selected;
change();
}
else if(selected.equals("sqrt")){
if(str[a].equals("0")) la.setText("0不能开方");
else{
}
}
else if(selected.equals("%")){
}
else if(selected.equals("1/x")){
}
else if(selected.equals("=")){
CalculationOfForce();
}
}
public static void main(String[] args){
Where_1 f=new Where_1("计算器");
f.setSize(290,300);
f.setVisible(true);
f.setResizable(false);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -