⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 caculator.java

📁 Java 语言实现的计算器
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
                C.setText("<html><font color=blue>C</font></html>");                D = new JButton("D");                D.setText("<html><font color=blue>D</font></html>");                E = new JButton("E");                E.setText("<html><font color=blue>E</font></html>");                F = new JButton("F");                F.setText("<html><font color=blue>F</font></html>");*/                                /* if (style == 2)                {                    panel3.setLayout(new GridLayout(5,6,3,2));                    panel3.add(b_7);  panel3.add(b_8);   panel3.add(b_9);   panel3.add(b_div);  panel3.add(Mod) ;   panel3.add(And);  		    panel3.add(b_4);  panel3.add(b_5);   panel3.add(b_6);   panel3.add(b_mul);  panel3.add(Or);     panel3.add(Xor);		    panel3.add(b_1);  panel3.add(b_2);   panel3.add(b_3);   panel3.add(b_sub);  panel3.add(Lsh);    panel3.add(Not);		    panel3.add(b_0);  panel3.add(b_sign);panel3.add(b_dian);panel3.add(b_add);  panel3.add(b_deng); panel3.add(Int);                    panel3.add(A);    panel3.add(B);     panel3.add(C);     panel3.add(D);      panel3.add(E);      panel3.add(F);                }                                else                {*/				panel3.add(b_MC);  panel3.add(b_7);  panel3.add(b_8);   panel3.add(b_9);   panel3.add(b_div);  panel3.add(b_sqrt);		panel3.add(b_MR);  panel3.add(b_4);  panel3.add(b_5);   panel3.add(b_6);   panel3.add(b_mul);panel3.add(b_100);		panel3.add(b_MS);  panel3.add(b_1);  panel3.add(b_2);   panel3.add(b_3);   panel3.add(b_sub);  panel3.add(b_dao);		panel3.add(b_Madd);panel3.add(b_0);  panel3.add(b_sign);panel3.add(b_dian);panel3.add(b_add);  panel3.add(b_deng);                //}                 		panel4 = new JPanel();		panel4.setLayout(new GridLayout(5,4,3,2));		b_xy = new JButton("x^y");                b_xy.setText("<html><font color=purple>x^y</font></html>");		b_ln = new JButton("ln");                b_ln.setText("<html><font color=purple>ln</font></html>");		b_log = new JButton("log");                b_log.setText("<html><font color=purple>log</font></html>");		b_pi = new JButton("pi");                b_pi.setText("<html><font color=blue>pi</font></html>");		b_x2 = new JButton("x^2");                b_x2.setText("<html><font color=purple>x^2</font></html>");		b_x3 = new JButton("x^3");                b_x3.setText("<html><font color=purple>x^3</font></html>");		b_k1 = new JButton("(");                b_k1.setText("<html><font color=purple>(</font></html>");		b_k2 = new JButton(")");                b_k2.setText("<html><font color=purple>)</font></html>");		b_sin = new JButton("sin");                b_sin.setText("<html><font color=purple>sin</font></html>");		b_cos = new JButton("cos");                b_cos.setText("<html><font color=purple>cos</font></html>");		b_tan = new JButton("tan");                b_tan.setText("<html><font color=purple>tan</font></html>");		b_n = new JButton("n!");                b_n.setText("<html><font color=purple>n!</font></html>");                b_FE = new JButton("F-E");                b_FE.setText("<html><font color=purple>F-E</font></html>");		b_dms = new JButton("dms");                b_dms.setText("<html><font color=purple>dms</font></html>");		b_Exp = new JButton("Exp");                b_Exp.setText("<html><font color=purple>Exp</font></html>");                		panel4.add(b_FE);  panel4.add(b_k1);  panel4.add(b_k2); panel4.add(b_MC);		panel4.add(b_dms);  panel4.add(b_Exp);  panel4.add(b_ln); panel4.add(b_MR);		panel4.add(b_sin);  panel4.add(b_xy);  panel4.add(b_log); panel4.add(b_MS);		panel4.add(b_cos);  panel4.add(b_x3);  panel4.add(b_n);   panel4.add(b_Madd);                panel4.add(b_tan);  panel4.add(b_x2);  panel4.add(b_dao); panel4.add(b_pi);		panel.setLayout(flow);		if (style==2)		{			panel.add(panel4);		}		panel.add(panel3);		basebox.add(panel);		//添加键盘事件		addKeyListener(this);		//给按钮添加监听器,监听事件		b_Backspace.addActionListener(this);b_Backspace.addKeyListener(this);		b_CE.addActionListener(this);b_CE.addKeyListener(this);		b_C.addActionListener(this);b_C.addKeyListener(this);		b_MC.addActionListener(this);b_MC.addKeyListener(this);		b_MR.addActionListener(this);b_MR.addKeyListener(this);		b_MS.addActionListener(this);b_MS.addKeyListener(this);		b_Madd.addActionListener(this);b_Madd.addKeyListener(this);		b_0.addActionListener(this);b_0.addKeyListener(this);		b_1.addActionListener(this);b_1.addKeyListener(this);		b_2.addActionListener(this);b_2.addKeyListener(this);		b_3.addActionListener(this);b_3.addKeyListener(this);		b_4.addActionListener(this);b_4.addKeyListener(this);		b_5.addActionListener(this);b_5.addKeyListener(this);		b_6.addActionListener(this);b_6.addKeyListener(this);		b_7.addActionListener(this);b_7.addKeyListener(this);		b_8.addActionListener(this);b_8.addKeyListener(this);		b_9.addActionListener(this);b_9.addKeyListener(this);		b_add.addActionListener(this);b_add.addKeyListener(this);		b_sub.addActionListener(this);b_sub.addKeyListener(this);		b_mul.addActionListener(this);b_mul.addKeyListener(this);		b_div.addActionListener(this);b_div.addKeyListener(this);		b_dian.addActionListener(this);b_dian.addKeyListener(this);		b_sign.addActionListener(this);b_sign.addKeyListener(this);		b_sqrt.addActionListener(this);b_sqrt.addKeyListener(this);		b_100.addActionListener(this);b_100.addKeyListener(this);		b_deng.addActionListener(this);b_deng.addKeyListener(this);		b_dao.addActionListener(this);b_dao.addKeyListener(this);		b_pi.addActionListener(this);b_pi.addKeyListener(this);		b_k1.addActionListener(this);b_k1.addKeyListener(this);		b_k2.addActionListener(this);b_k2.addKeyListener(this);		b_xy.addActionListener(this);b_xy.addKeyListener(this);		b_x2.addActionListener(this);b_x2.addKeyListener(this);		b_x3.addActionListener(this);b_x3.addKeyListener(this);		b_sin.addActionListener(this);b_sin.addKeyListener(this);		b_cos.addActionListener(this);b_cos.addKeyListener(this);		b_tan.addActionListener(this);b_tan.addKeyListener(this);		b_n.addActionListener(this);b_n.addKeyListener(this);		b_ln.addActionListener(this);b_ln.addKeyListener(this);		b_log.addActionListener(this);b_log.addKeyListener(this);		//t_M.addKeyListener(this);		//**************------底层添加布局-------***************		Container con = getContentPane();		con.setLayout(new FlowLayout());		con.add(basebox);				validate();		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);	}	//*************----------相关方法-----------***************	void input(String s)//输入数字的函数	{			if (start==0)			{				t[state]=s;				start=1;			}			else			{				t[state]=t_show.getText()+s;			}			d[state]=Double.parseDouble(t[state]);			t_show.setText(t[state]);	}	void clear()//清楚当前状态	{		t[state]="0"; d[state]=0; start=0;	}	String n(String s)//计算阶乘	{		BigInteger ss=new BigInteger(s);		BigInteger result=new BigInteger("1"),r=new BigInteger("1"),re=new BigInteger("1");		while(re.compareTo(ss)<0)		{            re=re.add(r);			result=result.multiply(re);		}		return result.toString();	}	double op(double x)//三角函数结果处理	{		int z=(int)(x*1000000);		if(z%10>=5)			z=z+10-z%10;		return (double)z/1000000;	}	void done()//进行运算的函数	{		deng=1;		switch(marks[mark])		{			case 1:				d[2*mark-1]=d[2*mark-1]+d[2*mark];				t[2*mark-1]=String.valueOf(d[2*mark-1]);				t_show.setText(t[2*mark-1]);				break;			case 2:				d[2*mark-1]=d[2*mark-1]-d[2*mark];				t[2*mark-1]=String.valueOf(d[2*mark-1]);				t_show.setText(t[2*mark-1]);				break;			case 3:				d[2*mark-1]=d[2*mark-1]*d[2*mark];				t[2*mark-1]=String.valueOf(d[2*mark-1]);				t_show.setText(t[2*mark-1]);				break;			case 4:				if(d[2*mark]==0)				{					t_show.setText("除数不能为0");					start=0;					break;				}				d[2*mark-1]=d[2*mark-1]/d[2*mark];				t[2*mark-1]=String.valueOf(d[2*mark-1]);				t_show.setText(t[2*mark-1]);				break;			case 5:				d[state]=Math.pow(d[state-1],d[state]);				t[state]=String.valueOf(d[state]);				t_show.setText(t[state]);			default:				break;		}	}		//*************----------相关事件-----------***************	public void actionPerformed(ActionEvent e)	{		//菜单条内的按钮事件#######################################                if(e.getSource() == item0)//退出                {                       System.exit(0);                 }		if(e.getSource() == item1)//复制		{			t_show.setEditable(true);			t_show.selectAll();			t_show.copy();			t_show.setEditable(false);		} 		else if(e.getSource() == item2)//粘贴		{			t_show.setEditable(true);			t_show.selectAll();			t_show.paste();			validate();			t_show.setEditable(false);		}		else if(e.getSource() == item5)//帮助		{			String s = "标准型:\r\nBackspace — 逐个删除\r\nsqrt — 开平方\r\nC — 全部清除\r\nCE — 一次运算完成后,单击“CE”按钮即可清除当前的运算结果,再次输入时可开始新的运算\r\nMC — 是清除储存数据\r\nMR — 是读取储存的数据\r\nMS — 将所显示的数存入存储器中,存储器中原有的数据被冲走,“—”也会变为“M”\r\nM+ — 是计算结果并加上已经储存的数\r\n1/x — 求倒数\r\n+/- — 改变当前数的符号\r\n% — 计算a*(b%),如输入a-b%=a-a*(b%);例:50+25%它会先计算出50*(25%)=12.5,然后按等号后,显示62.5(即50+12.5)\r\n科学型:\r\nsin — 计算三角函数sin值(默认角度制)\r\ncos — 计算三角函数cos值(默认角度制)\r\ntan — 计算三角函数tan值(默认角度制)\r\nn! — 计算n的阶乘(只限于100以内的数)\r\nlog — 计算以10为底的对数\r\nln — 计算自然对数\r\nx^y — 计算x的y次方\r\n        计算器的运算结果可以导入到别的应用程序中,用户可以选择“编辑”—“复制”把运算结果粘贴到别处,也可以从别的地方复制好运算算式后,选择“编辑”—“粘贴”到计算器中进行运算。";			Dialog d = new Dialog(this,"帮助主题",s,550,520);		} 		else if(e.getSource() == item6)//关于		{			String s = "版权所有 (c) 2008\r\n制作者:李育胤   班级:05嵌入式软件与系统   学号:05384025";			Dialog d = new Dialog(this,"关于软件",s,360,100);		}		//操作指令事件##############################################		else if(e.getSource() == b_Backspace)		{			if (t_show.getText().length() <= 1) 			{				t[state] = "0";				start = 0;//说明重新输入,清空以前数据			}			else 			{				t[state] = t_show.getText().substring(0, t_show.getText().length()-1);			}			d[state] = Double.parseDouble(t[state]);			t_show.setText(t[state]);		}		else if(e.getSource() == b_C)//删掉所有状态与数值		{			for (int i=0;i<11;i++)			{				t[i]="0";				d[i]=0;				if (i<5)					marks[i]=0;			}			state=1;			start=0;			mark=1;			t_show.setText("0");			k1=k2=0;			t_K.setText(" — ");		}		else if(e.getSource() == b_CE)//删除当前状态与数值		{			clear();			t_show.setText("0");		}		//储存器操作按钮事件########################################		else if(e.getSource() == b_MC)		{			Mdate=0;			t_M.setText(" — ");			validate();		}		else if(e.getSource() == b_MR)		{			d[state]=Mdate;			t[state]=String.valueOf(Mdate);			t_show.setText(String.valueOf(Mdate));		}		else if(e.getSource() == b_MS)		{			start=0;//说明重新输入,清空以前数据			Mdate=Double.parseDouble(t_show.getText());			t_M.setText(" M  ");			validate();		}		else if(e.getSource() == b_Madd)		{			Mdate+=Double.parseDouble(t_show.getText());			t_M.setText(" M  ");			validate();		}		//数字按钮事件###########################################		else if(e.getSource() == b_0)		{			input("0");		}		else if(e.getSource() == b_1)		{			input("1");		}		else if(e.getSource() == b_2)		{			input("2");		}		else if(e.getSource() == b_3)		{			input("3");		}		else if(e.getSource() == b_4)		{			input("4");		}		else if(e.getSource() == b_5)		{			input("5");		}		else if(e.getSource() == b_6)		{

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -