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

📄 calculatora.java

📁 用JAVA编写的简单的计算器程序
💻 JAVA
字号:
package day11;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class CalculatorA {
	private JFrame jf;
	private JButton[] jbs;
	private JTextField jtf;//显示屏
	private JButton clear;//清空按钮
	private double num1,num2;//用来存储俩个操作数
	private char operator;//用来存储运算符
	public CalculatorA(){
		//实例化属性
		jf=new JFrame("我的计算器v1.1");
		jbs=new JButton[16];
		jtf=new JTextField(20);
		clear=new JButton("clear");
		String str="123+456-789*0.=/";
		for(int i=0;i<str.length();i++){
			jbs[i]=new JButton(str.charAt(i)+"");
		}
		addEvenHandler();
	}
	public void init(){
		//布局图形界面
		JPanel jp1=new JPanel();
		JPanel jp2=new JPanel();
		JPanel jp3=new JPanel();
		
		jp1.setLayout(new FlowLayout());
		jp1.add(jtf);
		
		
		jp2.setLayout(new GridLayout(4,4));
		for(int i=0;i<jbs.length;i++){
			jp2.add(jbs[i]);
		}
		
		jp3.setLayout(new FlowLayout());
		jp3.add(clear);
		
		jf.add(jp1,BorderLayout.NORTH);//最上部分----显示屏
		jf.add(jp2,BorderLayout.CENTER);//中间部分----按键
		jf.add(jp3,BorderLayout.SOUTH);//下部分-----清空按键
		
	}
	public void setPont(){//设置字体
		Font f=new Font("隶书",Font.PLAIN,24);
		jtf.setFont(f);
		for(int i=0;i<jbs.length;i++){
		jbs[i].setFont(f);
		}
		clear.setFont(f);
	}
	public void setColor(){//设置颜色
		jtf.setBackground(Color.GREEN);
		jtf.setForeground(Color.BLUE);
	}
	public void addEvenHandler(){
		ActionListener lis=new ActionListener(){
			public void actionPerformed(ActionEvent e) {
				JButton jb=(JButton)e.getSource();//getSource获得事件原
				String str=jb.getText().trim();//trim 去掉首尾空格
				//String str2=e.getActionCommand().trim();//直接能得到事件原上的文本
				if("0123456789.".indexOf(str)!=-1){//如果是数字或点号,则显示出来
					jtf.setText(jtf.getText()+str);
					return;
				}
				if("+-*/".indexOf(str)!=-1){//如果是操作符
					num1=Double.parseDouble(jtf.getText());//把屏幕的字符串转成double类型并存储在num1中
					operator=str.charAt(0);//把该操作符转成char类型,并存储在operator中
					jtf.setText(null);//清空屏幕
					return;
				}
				if(str.equals("=")){//如果是等号
					num2=Double.parseDouble(jtf.getText());//把屏幕的字符串转成double类型并存储在num2中
					double d=0;//定义一个double变量,用来存储运算结果
					if(operator=='+')
						 d=num1+num2;
					if(operator=='-')
						 d=num1-num2;
					if(operator=='*')
						 d=num1*num2;
					if(operator=='/')
						 d=num1/num2;
					if(d-(int)d==0)//如果结果是整型
						jtf.setText((int)d+"");//转化成int使输出结果不带.0部分
					else//否则
						jtf.setText(d+"");//输出double类型
					return;
				}
				if(str.equals("clear")){//如果是clear,清空屏幕
					jtf.setText(null);
					return;
				}
			}
		};
		for(int i=0;i<jbs.length;i++){
			jbs[i].addActionListener(lis);
		}
		clear.addActionListener(lis);
	}
	public void showMe(){
		init();
		setPont();
		setColor();
		jf.pack();
		jf.setVisible(true);
		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	public static void main(String[] args) {
		new CalculatorA().showMe();
	}

}

⌨️ 快捷键说明

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