多平台统一管理软件接口,如何实现多平台统一管理软件接口
280
2022-09-05
Java实现一个简单计算器
先来看看界面效果:
源码如下:
package test1;
import java.awt.Frame;
import java.awt.TextField;
import java.awt.Button;
import java.awt.Panel;
import java.awt.GridLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class caLfSABwbslculate {
TextField tfResult;
Button btNum[],btOper[],btPoint,btEqual,btBack,btSqrt,btPingfang,btLifang;
int num1,num2;//操作数
char oper;//操作符
boolean isNum;//代表数字标志位
public void init(){
Frame f;
tfResult=new TextField();
btNum=new Button[10];//数组对象
for(int i=0;i<=9;i++){
btNum[i]=new Button(i+"");
}
btOper=new Button[4];
btOper[0]=new Button("+");
btOper[1]=new Button("-");
btOper[2]=new Button("*");
btOper[3]=new Button("/");
btPoint=new Button(".");
btEqual=new Button("=");
btBack=new Button("Backspace");
btSqrt=new Button("Sqrt");
btPingfang=new Button("2");
btLifang=new Button("3");
f=new Frame("小羊羔的计算器!");
f.setSize(300,300);
//放置组件
f.add(tfResult,"North");
Panel panel=new Panel();
f.add(panel,"Center");
GridLayout gl=new GridLayout(5,4);
panel.setLayout(gl);
panel.add(btNum[1]);
panel.add(btNum[2]);
panel.add(btNum[3]);
panel.add(btOper[0]);
panel.add(btNum[4]);
panel.add(btNum[5]);
panel.add(btNum[6]);
panel.add(btOper[1]);
panel.add(btNum[7]);
panel.add(btNum[8]);
panel.add(btNum[9]);
panel.add(btOper[2]);
panel.add(btNum[0]);
panel.add(btPoint);
panel.add(btEqual);
panel.add(btOper[3]);
panel.add(btBack);
panel.add(btSqrt);
panel.add(btPingfang);
panel.add(btLifang);
f.setVisible(true);
//注册监听
f.addWindowListener(new MyWinLis());
//数字按钮注册监听
MyNumLis mnl=new MyNumLis();
for(int i=0;i<=9;i++)
btNum[i].addActionListener(mnl);
//操作符按钮注册监听
MyOperLis mol=new MyOperLis();
for(int j=0;j<=3;j++)
btOper[j].addActionListener(mol);
//等号按钮注册监听
MyEqualLis mel=new MyEqualLis();
btEqual.addActionListener(mel);
//删除按钮注册监听
MyBackLis mbl=new MyBackLis();
btBack.addActionListener(mbl);
//开根号按钮注册监听
MySqrtLis msl=new MySqrtLis();
btSqrt.addActionListener(msl);
//平方按钮注册监听
MyPingfangLis mpl=new MyPingfangLis();
btPingfang.addActionListener(mpl);
//百分号注册监听
MyLifangLis mll=new MyLifangLis();
btLifang.addActionListener(mll);
}
//定义监听器类
class MyNumLis implements ActionListener{
public void actionPerformed(ActionEvent e){
String t=e.getActionCommand();
String s=tfResult.getText();
if(isNum==false)
tfResult.setText(t);
else
tfResult.setText(s+t);
isNum=true;
}
}
class MySqrtLis implements ActionListener{
public void actionPerformed(ActionEvent e){
double t=Double.parseDouble(tfResult.getText());
tfResult.setText(Math.sqrt(t)+"");
isNum=false;
}
}
class MyPingfangLis implements ActionListener{
public void actionPerformed(ActionEvent e){
num1=Integer.parseInt(tfResult.getText());
tfResult.setText(num1*num1+"");
}
}
class MyLifangLis implements ActionListener{
public void actionPerformed(ActionEvent e){
num1=Integer.parseInt(tfResult.getText());
tfResult.LfSABwbssetText(num1*num1*num1+"");
}
}
class MyOperLis implements ActionListener{
public void actionPerformed(ActionEvent e){
num1=Integer.parseInt(tfResult.getText());//转化为INT
oper=e.getActionCommand().charAt(0);
isNum=false;
}
}
class MyEqualLis implements ActionListener{
public void actionPerformed(ActionEvent e){
int result=0;
isNum=false;
num2=Integer.parseInt(tfResult.getText());
switch(oper){
case '+':result=num1+num2;break;
case '-':result=num1-num2;break;
case '*':result=num1*num2;break;
case '/':result=num1/num2;break;
}
tfResult.setText(result+"");
}
}
class MyBackLis implements ActionListener{
public void actionPerformed(ActionEvent e){
tfResult.setText("");
isNum=false;
}
}
class MyWinLis extends WindowAdapter{
public void windowClosing(WindowEvent e){
e.getWindow().setVisible(false);
e.getWindow().dispose();
System.exit(0);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new calculate().init();
}
}
11×5=?界面如下:
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~