Java编程的简单计算器

  • 时间:
  • 浏览:
  • 来源:互联网

Java编程的简单计算器

  • 计算器的要求
  • 计算器的主要构成
    • 数字键的构成思路
    • CE清除键的构成思路
    • +、—、*、/键的构成思路
    • =键的构成思路
    • 小数点键的构成思路
    • 效果图

计算器的要求

1:该计算器可以进行简单的四则运算;
2:记录输入的数字;
3:当输入加减乘除符号时,输入框变为“0”;
4:小数点在一次输入时,只能输入一个小数点;

计算器的主要构成

**0~9、+、-、*、\、CE、.**构成计算器;

数字键的构成思路

数字键需要“0~9”的10个数字,反观他们的作用是一样的,不同的是我们需要记住他们特有的数字标识,若将他们进行一个一个的编辑则显得繁琐起来,因此需要我们将他们进行统一的编辑,这样可以减少我们的编程的数量、也能是代码看起来更加的简洁,因为我们这么简单怎么来,哈哈哈!
利用数组解决是不错的;

for(int i=0;i<10;i++)//利用for循环来编写0~9的数字
		{
			jButton[i]=new JButton();
			do{
				jButton[i].setBounds(10+j*110, 110+(i/3)*50, 80, 40);//0~9的位置
				j++;
				if(j= =3){
					j=0;
				}
			}while(j= =3);
			jButton[i].setText(Integer.toString(i+1));//该0~9这10个数字进行编写数字
			if(i==9){
				jButton[i].setText(Integer.toString(0));
				}
			String st=jButton[i].getText();
			jButton[i].setBackground(Color.LIGHT_GRAY);//设置0~9的背景颜色
			jButton[i].setFont(new Font("宋体",Font.PLAIN,20));//设置字体与颜色大小

数字键的功能作用:

		jButton[i].addActionListener(new ActionListener() {
				@Override
				public void actionPerformed(ActionEvent e) {
					// TODO Auto-generated method stub
					st1=jTextField.getText().toString().trim();
					if (st1.equals("0")) {
						jTextField.setText(st);
					}else {
						st1=st1+st;
						jTextField.setText(st1);
					}
				}
			});
			jFrame.add(jButton[i]);
		}

CE清除键的构成思路

CE解除键,顾名思义则是需要将所以的数字进行清0;

	JButton jButtone=new JButton("CE");
	jButtone.setBounds(10, 60, 80, 40);
	jButtone.setBackground(Color.orange);
	jButtone.setFont(new Font("宋体",Font.PLAIN,20));
	jButtone.addActionListener(new ActionListener() {
		
		@Override
		public void actionPerformed(ActionEvent e) {
			// TODO Auto-generated method stub
			jTextField.setText("0");
			string2="";
			st1="";
			st2="";
		}
	});
	jFrame.add(jButtone);

+、—、*、/键的构成思路

+、-、*、\、的功能相似,因此就以+法为例;
计算器的要求是将当输入加减乘除符号时,输入框变为“0”;

JButton jButtona=new JButton("+");
		jButtona.setBounds(340, 110, 80, 90);
		jButtona.setBackground(Color.orange);
		jButtona.setFont(new Font("宋体",Font.PLAIN,20));//以上为加法的布局;
		//开始加法的功能
		jButtona.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				st1=jTextField.getText().toString().trim();
				try {
					x=Double.parseDouble(st1);
					} catch (Exception e2) {
					// TODO: handle exception
						String mas=e2.getMessage();
						jTextField.setText(mas);
				}
				string2="+";
				jTextField.setText("0");
			}
		});
		jFrame.add(jButtona);

=键的构成思路

对于号可以说是计算的最后一步了,需要因此我们将所有的数据进行汇总,进行计算,因此得到合理的结果:

	JButton jButtond=new JButton("=");
	jButtond.setBounds(340, 210, 80, 90);
	jButtond.setBackground(Color.orange);
	jButtond.setFont(new Font("宋体",Font.PLAIN,20));
	jButtond.addActionListener(new ActionListener() {
		@Override
		public void actionPerformed(ActionEvent e) {
			// TODO Auto-generated method stub
			y=Double.parseDouble(jTextField.getText());
			if (string2.equals("+")) {
				z=x+y;
			}
			if (string2.equals("-")) {
				z=x-y;
			}
			if (string2.equals("*")) {
				z=x*y;
			}
			if (string2.equals("/")) {
				z=x/y;
			}
			DecimalFormat dFormat=new DecimalFormat("0.000");
			jTextField.setText(dFormat.format(z));
		}
	});
	jFrame.add(jButtond);

小数点键的构成思路

计算器不只能进行整数的运算,因此小数点则就需要,并且小数点在一次输入时,只能输入一个小数点;

		jFrame.add(jButtond);
		JButton jButtonx=new JButton(".");
		jButtonx.setBounds(120,260, 190, 40);
		jButtonx.setBackground(Color.LIGHT_GRAY);
		jButtonx.setFont(new Font("宋体",Font.PLAIN,20));
		jButtonx.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				if (!st1.contains(".")) {
					st1=st1+".";
					jTextField.setText(st1);
				}
			}
		});
		jFrame.add(jButtonx);

效果图

在这里插入图片描述
哈哈哈,第一次写我的东西,有需要代码的可以找我,一起来玩啊!

本文链接http://element-ui.cn/news/show-341870.aspx