本实验我用的是Java做的,毕竟还算比较熟悉
大致效果如下
实验原理
1、参照Windows计算器功能,实现加、减、乘、除运算;
2、声明为按钮数组;
3、对0~9数字操作,采用相同的算法;
4、解决除数为零的问题;
5、具有清除一个数字、全部清除、开平方和平方功能。
6、计算结果保留4位小数。
7、界面缩放时,所有组件同步缩放,保持界面整体风格不变。
源代码:
import javax.swing.;
import java.awt.;
import java.awt.event.;
public class Calculator extends JFrame implements ActionListener
{
private Container content;//声明面版
private GridBagLayout bagLayout;//声明GridBagLayout的对象
private GridBagConstraints constraints;//声明GridBagConstaints()对象
JMenuBar bar=new JMenuBar();//添加MenuBar类的对象,注意Menu类只能在Frame框架中使用
JMenu mu=new JMenu(“Option”);//添加Option菜单
JMenuItem m=new JMenuItem(“Exit”);//添加Exit菜单选项
JButton bt0,bt1,bt2,bt3,bt4,bt5,bt6,bt7,bt8,bt9;//按钮0-10和±/=
JButton btEqual,btAdd,btMin,btMul,btDiv;
JButton btBackspace,btreset;//退格和清零
JLabel lb=new JLabel(“简易计算器”,0);
JTextField text1 = new JTextField(“0”);
String sop[]={"",""};//sop[0]存放按下操作数(±/)之前输入的数,sop[1]存放按下操作数之后的数.
int i=0;//用作sop数组的下标
char op;//记录操作符 “+ - * /”
boolean flag=false;//判断是否第一次按下+,-,,/
boolean doubleClick=true;//限制按钮按下的次数,有的可以连续按,有的限制为只按一次,比如"="
boolean twoOpNum=false;//有两个操作数才能进行"=“操作
String result=”";//保存运算结果
public Calculator()
{
super(“Calculator”);
text1.setHorizontalAlignment(JTextField.RIGHT);//文本域的内容为右对齐
content=getContentPane() ;//获得内容面版
bagLayout=new GridBagLayout();//创建对象
content.setLayout(bagLayout);
constraints=new GridBagConstraints();