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

📄 jsq.java

📁 Java写的计算器 Java写的计算器
💻 JAVA
字号:
package mypackage;

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class JSQ
{
	public static void main(String[] args)
	{
		JSQFrame frame=new JSQFrame();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.show();
	}
}

class JSQFrame extends JFrame
{
	public JSQFrame()
	{
		JPanel panel=new JPanel();
		text1=new JTextField(35);
		text1.setText("");
		text1.setEditable(false);
		panel.add(text1);

		JSQPanel jsqpanel=new JSQPanel(this);
		
		Container contentPane=getContentPane();
		contentPane.add(panel,BorderLayout.NORTH);
		contentPane.add(jsqpanel);

		setSize(400,200);
		setTitle("计算器");
		setResizable(false);
	}
	
	JTextField text1;
}

class JSQPanel extends JPanel implements ActionListener
{
	public JSQPanel(JSQFrame frame)
	{
		this.frame=frame;
		setLayout(new GridLayout(5,5,10,5));

		buttonBackSpace=new JButton("BS");
		buttonCE=new JButton("CE");
		buttonC=new JButton("C");

		add(buttonBackSpace);
		add(new JLabel());
		add(buttonCE);
		add(new JLabel());
		add(buttonC);

		for(int i=7;i<=9;i++)
			add(button[i]=new JButton(""+i));
		buttonCHU=new JButton("/");
		buttonSQRT=new JButton("sqrt");
		add(buttonCHU);
		add(buttonSQRT);

		for(int i=4;i<=6;i++)
			add(button[i]=new JButton(""+i));
		buttonCHENG=new JButton("*");
		buttonPERCENT=new JButton("%");
		add(buttonCHENG);
		add(buttonPERCENT);

		for(int i=1;i<=3;i++)
			add(button[i]=new JButton(""+i));
		buttonJIAN=new JButton("-");
		buttonX=new JButton("1/x");
		add(buttonJIAN);
		add(buttonX);

		button[0]=new JButton("0");
		buttonFU=new JButton("+/-");
		buttonDIAN=new JButton(".");
		buttonJIA=new JButton("+");
		buttonDENG=new JButton("=");
		add(button[0]);
		add(buttonFU);
		add(buttonDIAN);
		add(buttonJIA);
		add(buttonDENG);

		for(int i=0;i<=9;i++)
			button[i].addActionListener(this);
		buttonBackSpace.addActionListener(this);
		buttonCE.addActionListener(this);
		buttonC.addActionListener(this);
		buttonCHU.addActionListener(this);
		buttonSQRT.addActionListener(this);
		buttonCHENG.addActionListener(this);
		buttonPERCENT.addActionListener(this);
		buttonJIAN.addActionListener(this);
		buttonX.addActionListener(this);
		buttonFU.addActionListener(this);
		buttonDIAN.addActionListener(this);
		buttonDENG.addActionListener(this);
		buttonJIA.addActionListener(this);
		
		String plaf="com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
		try
		{
			UIManager.setLookAndFeel(plaf);
			SwingUtilities.updateComponentTreeUI(this);
		}
		catch(Exception e)
		{
		}
			
	}

	public void actionPerformed(ActionEvent event)
	{
		for(int i=0;i<=9;i++)
			if(event.getSource()==button[i])
				{	
					frame.text1.setText(frame.text1.getText()+i);
				}

		if(event.getSource()==buttonJIA)
			{
				if(!frame.text1.getText().equals(""))
				{
					DString="";
					FUString="";
					if(YSFString.equals("+"))
						{
							num1=num1+Double.parseDouble(frame.text1.getText());
							frame.text1.setText("");
						}

					if(YSFString.equals(""))
						{
							num1=Double.parseDouble(frame.text1.getText());
							frame.text1.setText("");
							YSFString="+";
						}			
				}
			}

		if(event.getSource()==buttonJIAN)
			{
				if(!frame.text1.getText().equals(""))
				{
					DString="";
					FUString="";
					if(YSFString.equals("-"))
						{
							num1=num1-Double.parseDouble(frame.text1.getText());
							frame.text1.setText("");
						}

					if(YSFString.equals(""))
						{
							num1=Double.parseDouble(frame.text1.getText());
							frame.text1.setText("");
							YSFString="-";
						}
				}
			}
		if(event.getSource()==buttonCHENG)
			{
				if(!frame.text1.getText().equals(""))
				{
					DString="";
					FUString="";
					if(YSFString.equals("*"))
						{
							num1=num1*Double.parseDouble(frame.text1.getText());
							frame.text1.setText("");
						}

					if(YSFString.equals(""))
						{
							num1=Double.parseDouble(frame.text1.getText());
							frame.text1.setText("");
							YSFString="*";
						}
				}
			}
		if(event.getSource()==buttonCHU)
			{
				if(!frame.text1.getText().equals(""))
				{
					DString="";
					FUString="";
					if(YSFString.equals("/"))
						{
							num1=num1/Double.parseDouble(frame.text1.getText());
							frame.text1.setText("");
						}

					if(YSFString.equals(""))
						{
							num1=Double.parseDouble(frame.text1.getText());
							frame.text1.setText("");
							YSFString="/";
						}
				}
			}
		if(event.getSource()==buttonDENG)
			{
				DString="";
				FUString="";
				num2=Double.parseDouble(frame.text1.getText());

				if(YSFString.equals("+"))
					result=num1+num2;
				if(YSFString.equals("-"))
					result=num1-num2;
				if(YSFString.equals("*"))
					result=num1*num2;
				if(YSFString.equals("/"))
					result=num1/num2;

				frame.text1.setText(""+result);
				YSFString="";
			}
		if(event.getSource()==buttonC || event.getSource()==buttonCE)
			frame.text1.setText("");
		if(event.getSource()==buttonDIAN)
			{	if(DString=="")
					frame.text1.setText(frame.text1.getText()+".");
				DString=".";
			}
		if(event.getSource()==buttonFU)
			{
				if(FUString=="")
					frame.text1.setText(frame.text1.getText()+"-");
				FUString="-";
			}
		if(event.getSource()==buttonSQRT)
			{
				double d=0;
				if(!frame.text1.getText().equals(""))
					d=Double.parseDouble(frame.text1.getText());
					frame.text1.setText(""+Math.sqrt(d));
			}
		if(event.getSource()==buttonX)
			{
				double d=0;
				if(!frame.text1.getText().equals(""))
					{
						d=Double.parseDouble(frame.text1.getText());
						d=1/d;
						frame.text1.setText(""+d);
					}
			}
		if(event.getSource()==buttonPERCENT)
				if(!frame.text1.getText().equals(""))
					{
						double d=0;
						d=Double.parseDouble(frame.text1.getText())*100;
						frame.text1.setText(""+d);
					}
		if(event.getSource()==buttonBackSpace)
				if(!frame.text1.getText().equals(""))
					{
						int length=0;
						String string="";
						length=(frame.text1.getText()).length();
						System.out.println(length);
						string=frame.text1.getText();
						String str=string.substring(0,length-1);
		
						frame.text1.setText(str);
					}
						
					
		
				
		
	}

	JButton button[]={null,null,null,null,null,null,null,null,null,null};
	JButton buttonBackSpace,buttonCE,buttonC,buttonCHU,buttonSQRT,buttonCHENG,
		buttonPERCENT,buttonJIAN,buttonX,buttonFU,buttonDIAN,buttonDENG,buttonJIA;
	JSQFrame frame;
	double num1=0,num2=0,result=0;
	String YSFString="",DString="",FUString="";
}

⌨️ 快捷键说明

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