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

📄 sxj.java

📁 一个简单的计算器 可以实现计算器的基本功能 对初学编程的人有一定好处 大家可以下载下来
💻 JAVA
字号:
import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.*;
import javax.swing.border.*;
public class sxj  extends JFrame implements ActionListener 
{ 
   private JButton oneJButton, twoJButton, threeJButton,fourJButton, fiveJButton,
    sixJButton, sevenJButton, eightJButton, nineJButton, zeroJButton,plusJButton,
    minusJButton, timesJButton,divideJButton,equalsJButton,decimalJButton,clearJButton,
    fuhaoJButton;
   private JTextField displayJTextField;
   String s="",t="",m="";/*s:用来存储文本框中的值;t:用来存储中间值,以备计算m:存储+,-*,/;*/
   boolean key=true;/*判断是否按过小数点*/
   int a[]={0,0,0,0};
   public sxj()
   {
      createUserInterface();
   }
   private void createUserInterface()
   {
   
      Container contentPane = getContentPane();
      contentPane.setBackground(Color.GRAY);
      contentPane.setLayout( null );
      displayJTextField = new JTextField();
      displayJTextField.setText( "0." );
      displayJTextField.setBounds( 15, 15, 225, 24 );
      displayJTextField.setHorizontalAlignment( JTextField.RIGHT );
      displayJTextField.setEditable(false);
      contentPane.add( displayJTextField );
      oneJButton = new JButton();
      oneJButton.setText( "1" );
      oneJButton.setBounds( 15,50,45,40);
      contentPane.add(oneJButton);
      twoJButton = new JButton();
      twoJButton.setText( "2" );
      twoJButton.setBounds( 75,50,45,40);
      contentPane.add(twoJButton);
      threeJButton = new JButton();
      threeJButton.setText( "3" );
      threeJButton.setBounds( 135,50,45,40);
      contentPane.add(threeJButton);
      plusJButton = new JButton();
      plusJButton.setText( "+" );
      plusJButton.setBounds( 195,50,45,40);
      contentPane.add(plusJButton);
      fourJButton = new JButton();
      fourJButton.setText( "4" );
      fourJButton.setBounds( 15,100,45,40);
      contentPane.add(fourJButton);
      fiveJButton = new JButton();
      fiveJButton.setText( "5" );
      fiveJButton.setBounds( 75,100,45,40);
      contentPane.add(fiveJButton);
      sixJButton = new JButton();
      sixJButton.setText( "6" );
      sixJButton.setBounds( 135,100,45,40);
      contentPane.add(sixJButton);
      minusJButton = new JButton();
      minusJButton.setText( "-" );
      minusJButton.setBounds( 195,100,45,40);
      contentPane.add(minusJButton);
      sevenJButton = new JButton();
      sevenJButton.setText( "7" );
      sevenJButton.setBounds( 15,150,45,40);
      contentPane.add(sevenJButton);
      eightJButton = new JButton();
      eightJButton.setText( "8" );
      eightJButton.setBounds( 75,150,45,40);
      contentPane.add(eightJButton);
      nineJButton = new JButton();
      nineJButton.setText( "9" );
      nineJButton.setBounds( 135,150,45,40);
      contentPane.add(nineJButton);
      timesJButton = new JButton();
      timesJButton.setText( "*" );
      timesJButton.setBounds( 195,150,45,40);
      contentPane.add(timesJButton);
      zeroJButton = new JButton();
      zeroJButton.setText( "0" );
      zeroJButton.setBounds( 15,200,45,40);
      contentPane.add(zeroJButton);
      decimalJButton = new JButton();
      decimalJButton.setText( "." );
      decimalJButton.setBounds( 75,200,45,40);
      contentPane.add(decimalJButton);
      clearJButton = new JButton();
      clearJButton.setText( "C" );
      clearJButton.setBounds( 135,200,45,40);
      contentPane.add(clearJButton);
      divideJButton = new JButton();
      divideJButton.setText( "/" );
      divideJButton.setBounds( 195,200,45,40);
      contentPane.add(divideJButton);
      equalsJButton = new JButton();
      equalsJButton.setText( "=" );
      equalsJButton.setBounds( 105,250,135,40);
      contentPane.add(equalsJButton);
      fuhaoJButton = new JButton();
      fuhaoJButton.setText( "+/-" );
      fuhaoJButton.setBounds( 15,250,70,40);
      contentPane.add(fuhaoJButton);
      setTitle( "计算器" ); 
      setSize( 265, 335 );      
      setVisible( true ); 
      oneJButton.addActionListener(this);
      twoJButton.addActionListener(this);
      threeJButton.addActionListener(this);
      fourJButton.addActionListener(this);
      fiveJButton.addActionListener(this);
      sixJButton.addActionListener(this);
      sevenJButton.addActionListener(this);
      eightJButton.addActionListener(this);
      nineJButton.addActionListener(this);
      zeroJButton.addActionListener(this);
      plusJButton.addActionListener(this);
      minusJButton.addActionListener(this);
      timesJButton.addActionListener(this);
      divideJButton.addActionListener(this);
      equalsJButton.addActionListener(this);
      decimalJButton.addActionListener(this);
      clearJButton.addActionListener(this);
      fuhaoJButton.addActionListener(this);
    }
   public void actionPerformed(ActionEvent e) 
  {
     try {
    if(e.getSource()==oneJButton)
      xianshi( "1");
    else if(e.getSource()==twoJButton)
      xianshi("2");
    else if(e.getSource()==threeJButton)
      xianshi("3");
    else if(e.getSource()==fourJButton)
      xianshi("4");
    else if(e.getSource()==fiveJButton)
      xianshi("5");
    else if(e.getSource()==sixJButton)
      xianshi("6");
    else if(e.getSource()==sevenJButton)
      xianshi("7");
    else if(e.getSource()==eightJButton)
      xianshi("8");
    else if(e.getSource()==nineJButton)
      xianshi("9");
    else if(e.getSource()==zeroJButton)
      xianshi("0");
    else if(e.getSource()==clearJButton)
     {
      displayJTextField.setText( "0.");
      s="";
      t="";
      m="";
      key=true;}
    else if(e.getSource()==decimalJButton)
      if(key&&!displayJTextField.getText().equals("0.")&&!displayJTextField.getText().equals("0"))
      {xianshi(".");
      key=false;
      }
      else 
      {
      	if(displayJTextField.getText().equals("0.")||displayJTextField.getText().equals("0"))
      	{   s="";
      		xianshi("0.");
       key=false;}
       }
    else if(e.getSource()==fuhaoJButton)
     { 
       String m;
       char d;
       m=displayJTextField.getText();
       d=m.charAt(0);
     
       if(d=='-'&&!displayJTextField.getText().equals("0."))
        {
         displayJTextField.setText(m.substring(1,m.length()));
         s=displayJTextField.getText();}
         else 
         {
          if(!displayJTextField.getText().equals("0."))
         	{displayJTextField.setText("-"+displayJTextField.getText());
            s=displayJTextField.getText();}
          else 
          {displayJTextField.setText("-");
            s=displayJTextField.getText();} 
         }
     }
    else if(e.getSource()==plusJButton)
     {
      panduanfudian();s="";t=displayJTextField.getText();m="+";
     }
    else if(e.getSource()==minusJButton)
    {
      panduanfudian();s="";t=displayJTextField.getText();m="-";
    }
    else if(e.getSource()==timesJButton)
    {
      panduanfudian();s="";t=displayJTextField.getText();m="*";
    }
    else if(e.getSource()==divideJButton)
    {
      panduanfudian();s="";t=displayJTextField.getText();m="/";
    }
    else if(e.getSource()==equalsJButton)
    {
      panduanfudian();	 
    }
   } 
   catch (Exception event) {
      displayJTextField.setText("操作非法");
   }
}
  public void xianshi(String l)/*向文本框输出*/
  {
  	if(s.equals("0") )
      {
      	displayJTextField.setText( l);
      	s=String.valueOf(displayJTextField.getText());
      }        
       else
      { 
        displayJTextField.setText(s+l);
      	s=displayJTextField.getText(); }
  }
  
  public void panduanfudian()/* 实现运算*/
  { int b=1,c=1;
  	for(int i=0;i<s.length();i++)
      if(s.charAt(i)=='.')
       b=0;
    for(int i=0;i<t.length();i++)
      if(t.charAt(i)=='.')
       c=0;
    if(m=="+")
      { if(b==0||c==0)
      	{
      	displayJTextField.setText( String.valueOf(
              Float.parseFloat( t ) +
              Float.parseFloat( s ) ) );
        }
       else  
       {
       	 displayJTextField.setText( String.valueOf(
               Integer.parseInt( t ) +
               Integer.parseInt( s ) ) );
        }
       }
    if(m=="-")
    {  if(b==0||c==0)
       {
       	 displayJTextField.setText( String.valueOf(
              Float.parseFloat( t ) -
              Float.parseFloat( s ) ) );
       }
        else  {
         displayJTextField.setText( String.valueOf(
               Integer.parseInt( t ) -
               Integer.parseInt( s ) ) );
            }
   }
    if(m=="*")
    { if(b==0||c==0)
      {
      	displayJTextField.setText( String.valueOf(
              Float.parseFloat( t ) *
              Float.parseFloat( s ) ) );
       }
    else  {
    	 displayJTextField.setText( String.valueOf(
               Integer.parseInt( t ) *
               Integer.parseInt( s ) ) );
     }}          
    if(m=="/")
    { 
      if(b==1&&c==1&&Integer.parseInt( t ) %Integer.parseInt( s )==0 )
        {
          displayJTextField.setText( String.valueOf(
               Integer.parseInt( t ) /
               Integer.parseInt( s ) ) );	
        }
      else   {
      	  displayJTextField.setText( String.valueOf(
              Float.parseFloat( t ) /
              Float.parseFloat( s ) ) );
      	  
          }
     }
  }
public static void main( String[] args ) 
   {
    sxj application=new sxj();
    application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
    } 
}   

⌨️ 快捷键说明

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