精华内容
下载资源
问答
  • java编写一个简单的计算器 话不多说,用java中Switch结构可以编写一个简单的计算器,代码如图所示; package com.wcj.method; ​ import java.util.Scanner; ​ 目录 用java编写一个简单的计算器 public ...

    用java编写一个简单的计算器

    话不多说,用java中Switch结构可以编写一个简单的计算器,代码如图所示;

    package com.wcj.method;
    ​
    import java.util.Scanner;
    ​
    

    目录

    用java编写一个简单的计算器


    public class Calculator {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("输入第一个数字:");
            int num1= scanner.nextInt();
            System.out.println("输入一个运算符:");
            String operator= scanner.next();
            System.out.println("输入第二个数字:");
           int num2= scanner.nextInt();
           scanner.close();
           switch (operator){
               case "+":
                   System.out.println(num1+operator+num2+"="+(num1+num2));
                   break;
               case "-":
                   System.out.println(num1+operator+num2+"="+(num1-num2));
                   break;
               case "*":
                   System.out.println(num1+operator+num2+"="+(num1*num2));
                   break;
               case "/":
                   System.out.println(num1+operator+num2+"="+(num1/num2));
                   break;
               default:
                   System.out.println("按照提示输入");
           }
    ​
        }
    }
    ​
    展开全文
  • 使用Java编写一个简单计算器

    万次阅读 多人点赞 2019-03-17 11:31:11
    使用Java编写一个简单计算器 程序编写思路: 在编写这个计算器小程序时,首先需要对窗体和窗体中的组件有一个合理的布局,使编写出来的窗体看着美观简洁又实用.其次就是要注意对运算符和数字键的处理,为这些数字键和...

    使用Java编写一个简单计算器

    程序编写思路:

    1.页面布局

    这里整体的界面采用边框布局,上方输入框和结果框采用流动布局 ;下方按键部分采用网格状布局。

    2.按钮事件监听

    为计算器每个按钮设置相应的事件监听,是该程序的核心部分。
    ①首先为0-9这10个数字键和 . + - * / ( )设置事件监听,当点击到该按键时,输入框中出现相对应的数字或符号

    //各按钮的时间处理方法
    	public void Text(JButton button){
    		button.addActionListener(new ActionListener() {
    			@Override
    			public void actionPerformed(ActionEvent arg0) {
    				// TODO Auto-generated method stub
    				String str=button.getText();
    				//System.out.println(str);
    				text.setText(text.getText() + str);
    			}
    		});
    	}
    

    ②其次是为MC键设置事件监听,使它完成清空输入框中数据的功能

     clear.addActionListener(new ActionListener() {
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				// TODO Auto-generated method stub
    				text.setText("");
    				resulttext.setText("");
    			}
    		});
    

    ③为删除符号设置事件监听,使每次点击删除按钮,每次删除一位。

    prior.addActionListener(new ActionListener() {
    			
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				// TODO Auto-generated method stub
    				String a = text.getText();
    				String b = a.substring(0, a.length() - 1);
    				text.setText(b);
    			}
    		});
    

    ④为等于按钮设置事件监听(这是最关键的一步),使每次点击等于按钮,能正确识别算式的格式并输出正确结果。

    equ.addActionListener(new ActionListener() {
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				// TODO Auto-generated method stub
    				String string = text.getText().trim();
    				int flag = Format_detection.isFormate(string);
    				
    				if(flag == 0) {
    					JOptionPane.showMessageDialog(null, "输入为空,请输入算式","警告",JOptionPane.ERROR_MESSAGE);
    				}else if(flag == 1) {
    					JOptionPane.showMessageDialog(null, "算式格式错误,请输入正确格式的算式","警告",JOptionPane.ERROR_MESSAGE);
    					
    				}else {
    					getResult result = new getResult(string);
    					resulttext.setText(result.result_int+"");
    				}
    				
    				}	
    		});
    
    3.输入算式的格式判定

    该部分是避免开始盲目运算。在计算之前先判断用户输入的算式是否符合格式,这里只是简单地格式判定,复杂的格式判定并未给出,这里是对输入为空,和输入内容的长度进行判断,当输入长度为奇数时,判定格式正确;若输入长度为偶数时,判定格式错误,并给出用户出错内容的警告。至于更详尽的算式格式判定,并未进行。大家可以根据需要下载源码后自行添加更多详尽的格式判定方法。

    //检测算式格式是否正确
    	public static int isFormate(String string) {
    		if(string.equals("") || string.isEmpty()) {
    			flag = 0;
    		}else {
    			List<String> list = new ArrayList<>();
    			/*
    			getResult.Infix_expression(string)函数是将算式字符串转换为以
    			list集合存储的中缀表达式。为后续增加更详细的格式判定提供便
    			利。
    			*/
    			list = getResult.Infix_expression(string);
    			if(list.size()%2 == 0) {
    				flag = 1;
    			}else {
    				flag = 2;
    			}
    		}
    		return flag;
    	}
    
    4.计算

    ①在计算之前,我将中缀表达式转换成了后缀表达式,又根据后缀表达式计算结果
    ②判定算式中运算数是否含有小数,若含有小数,进行小数计算,计算结果为double类型;若不含小数,则进行整数运算,计算结果为in类t型
    ③这里我将计算分成了正数计算(运算数中不含小数)和小数计算(运算数中含有小数)。将计算结果以字符串的形式传入结果框中。

    程序的用户界面显示:

    在这里插入图片描述
    界面程序源代码:

    //package 计算器;
    import java.awt.BorderLayout;
    import java.awt.Dialog;
    import java.awt.FlowLayout;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.Stack;
    import java.util.StringTokenizer;
    import java.util.regex.Pattern;
    
    import javax.swing.JButton;
    import javax.swing.JDialog;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    
    public class calculator extends JFrame{
    	JPanel viewPanel,panel;
    	JTextField text,resulttext;
    	JLabel label;
    	//"0--9"JButton
    	JButton jb0,jb1,jb2,jb3,jb4,jb5,jb6,jb7,jb8,jb9;
     //"+,-,*,/,."JButton
    	JButton add,sub,mul,div,bot,equ,left,right,clear,prior;
    	
    	public calculator(){
    		this.setBounds(300,200,400,300);
    		this.setTitle("计算器");
    		this.setLayout(new BorderLayout());//设置计算机窗体布局方式
    		text =new JTextField(15);
    		resulttext = new JTextField(15);
    		label = new JLabel();
    		label.setText("=");
    		viewPanel = new JPanel();
    		viewPanel.setLayout(new FlowLayout());
    		viewPanel.add(text);
    		viewPanel.add(label);
    		viewPanel.add(resulttext);
    		//新建数字按钮
    	    jb0 = new JButton("0");
    	    jb1 = new JButton("1");
    	    jb2 = new JButton("2");
    	    jb3 = new JButton("3");
    	    jb4 = new JButton("4");
    	    jb5 = new JButton("5");
    	    jb6 = new JButton("6");
    	    jb7 = new JButton("7");
    	    jb8 = new JButton("8");
    	    jb9 = new JButton("9");
    	    
    	    //新建符号按钮
    	    add = new JButton("+");
    	    sub = new JButton("-");
    	    mul = new JButton("*");
    	    div = new JButton("/");
    	    equ = new JButton("=");
    	    bot = new JButton(".");
    	    left = new JButton("(");
    	    right = new JButton(")");
    	    clear = new JButton("MC");
    	    prior = new JButton("←");
    	    //新建计算器数字及符号所在区域面板
    	    panel= new JPanel();
    	    panel.setLayout(new GridLayout(5,4));        
         //讲个按钮组建放入面板
    	    //第一行
    	    panel.add(jb7);
    	    panel.add(jb8);
    	    panel.add(jb9);
    	    panel.add(div);
    	    //第二行
    	    panel.add(jb4);
    	    panel.add(jb5);
    	    panel.add(jb6);
    	    panel.add(mul);
    	    //第三行
    	    panel.add(jb1);
    	    panel.add(jb2);
    	    panel.add(jb3);
    	    panel.add(sub);
    	    //第四行
    	    panel.add(bot);
    	    panel.add(jb0);
    	    panel.add(equ);
    	    panel.add(add);
    	    //第五行
    	    panel.add(left);
    	    panel.add(right);
    	    panel.add(clear);
    	    panel.add(prior);
    	    
    		this.add(viewPanel,BorderLayout.NORTH);
    	    this.add(panel);
    	    
    	    MyEvent();//事件处理
    	    this.setVisible(true);
    	    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置面板可关闭
    	}
    	public void MyEvent(){
    	    //给各数字键添加点击事件
    	    Text(jb0);
    	    Text(jb1);
    	    Text(jb2);
    	    Text(jb3);
    	    Text(jb4);
    	    Text(jb5);
    	    Text(jb6);
    	    Text(jb7);
    	    Text(jb8);
    	    Text(jb9);
    	    Text(add);
    	    Text(sub);
    	    Text(mul);
    	    Text(div);
    	    Text(bot);
    	    Text(left);
    	    Text(right);
    	    clear.addActionListener(new ActionListener() {
    			
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				// TODO Auto-generated method stub
    				text.setText("");
    				resulttext.setText("");
    			}
    		});
    	    prior.addActionListener(new ActionListener() {
    			
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				// TODO Auto-generated method stub
    				String a = text.getText();
    				String b = a.substring(0, a.length() - 1);
    				text.setText(b);
    			}
    		});
    	    equ.addActionListener(new ActionListener() {
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				// TODO Auto-generated method stub
    				String string = text.getText().trim();
    				int flag = Format_detection.isFormate(string);
    				
    				if(flag == 0) {
    					JOptionPane.showMessageDialog(null, "输入为空,请输入算式","警告",JOptionPane.ERROR_MESSAGE);
    				}else if(flag == 1) {
    					JOptionPane.showMessageDialog(null, "算式格式错误,请输入正确格式的算式","警告",JOptionPane.ERROR_MESSAGE);
    					
    				}else {
    					getResult result = new getResult(string);
    					resulttext.setText(result.result_int+"");
    				}
    				
    				}	
    		});
    	}
    	//各按钮的时间处理方法
    	public void Text(JButton button){
    		button.addActionListener(new ActionListener() {
    			@Override
    			public void actionPerformed(ActionEvent arg0) {
    				// TODO Auto-generated method stub
    				String str=button.getText();
    				//System.out.println(str);
    				text.setText(text.getText() + str);
    			}
    		});
    	}
    	public static void main(String[] args) {
    		new calculator();
    	}
    }
    
    

    由于我在写这个简易计算机器软件的时候是分不同模块写的,且代码量较多,所以我只是截取了界面的源码进行展示,至于完整的源码,我已上传至我的资源中,大家可以在我的资源中进行下载。

    展开全文
  • 这是一个java写的简单计算器,十分适用于java初学者。
  • 制作一个如图所示的简易计算器,要求具有加减清空功能。 代码片段 import javax.swing.*; import javax.swing.JFrame; import java.awt.*; import java.awt.event.*; public class Step3_1 { JFrame step3 = new ...

    前言

    制作一个如图所示的简易计算器,要求具有加减清空功能。
    如图所示

    代码片段

    import javax.swing.*;
    import javax.swing.JFrame;
    import java.awt.*;
    import java.awt.event.*;
    public class Step3_1 {
        JFrame step3 = new JFrame("简易计算器");     //显示界面标题
        JButton button1 = new JButton("相加");       //创建一个按钮
        JButton button2 = new JButton("相减");        //创建一个按钮
        JButton button3 = new JButton("全部清零");    //创建一个按钮
        JLabel text1 = new JLabel("运算数一");          //创建一个文本
        JLabel text2 = new JLabel("运算数二");          //创建一个文本
        JLabel text3 = new JLabel("运算结果");          //创建一个文本
        JLabel text = new JLabel("简易运算器");          //创建一个文本
        JTextField jet1 = new JTextField(30);       //创建一个输入框
        JTextField jet2 = new JTextField(30);       //创建一个输入框
        JTextField jet3 = new JTextField(30);       //创建一个输入框
        public Step3_1 () {
            step3.setLayout(null);                          //清空布局管理器
            step3.setSize(300,350);            //设置系统框的大小
            button1.setSize(60,30);            //设置按钮的大小
            button2.setSize(60,30);            //设置按钮的大小
            button3.setSize(100,30);           //设置按钮的大小
            button1.setLocation(70,200);              //设置按钮的位置(相对与系统框的左上角)
            button2.setLocation(150,200);             //设置按钮的位置(相对与系统框的左上角)
            button3.setLocation(85,250);              //设置按钮的位置(相对与系统框的左上角)
            button1.addActionListener(new event1(jet1,jet2,jet3));       //添加事件监听器(为后面创建响应做准备)
            button2.addActionListener(new event2(jet1,jet2,jet3));       //添加事件监听器(为后面创建响应做准备)
            button3.addActionListener(new event3(jet1,jet2,jet3));       //添加事件监听器(为后面创建响应做准备)
            text1.setSize(70,30);
            text2.setSize(70,30);
            text3.setSize(70,30);
            text.setSize(160,30);
            text.setFont(new Font("宋体",Font.PLAIN,20));     //设置字体格式
            text1.setLocation(30,50);
            text2.setLocation(30,100);
            text3.setLocation(30,150);
            text.setLocation(85,10);
            jet1.setSize(90,30);
            jet2.setSize(90,30);
            jet3.setSize(90,30);
            jet1.setLocation(150,50);
            jet2.setLocation(150,100);
            jet3.setLocation(150,150);
            jet3.setEditable(false);
            step3.add(jet1);step3.add(jet2);step3.add(jet3);                        //将以上内容添加到step3中
            step3.add(text1);step3.add(text2);step3.add(text3);step3.add(text);     //将以上内容添加到step3中
            step3.add(button1);step3.add(button2);step3.add(button3);               //将以上内容添加到step3中
            step3.setResizable(false);                  //表示不可以由用户自定义窗口大小
    //        step3.setLocation(600,100);
            step3.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);       //设置默认的关闭操作,”在关闭动作时退出“
            step3.setVisible(true);                     //将其改为可见
        }
    
    /*
     *此函数作用为:判断传入数据是否为浮点数/整数
     */
    
        public  boolean num(String n)
        {
            int count=0;
            char ch =n.charAt(0);
            if (ch == '-' || ch >= '0' && ch <= '9')
            {
                for (int i = 1; i < n.length(); i++)
                {
                    ch = n.charAt(i);
                    if (Character.isDigit(ch) && ch != '.')
                        return false;
                    if (ch == '.')
                        count++;
                }
                return count < 2 && ch != '.';
            }
            return false;
        }
    
    /*
     *次函数作用为:两数相加,并将结果输出到jet3中
     */
    
         class event1 implements ActionListener{
             JTextField num1=null;
             JTextField num2=null;
             JTextField num3=null;
             public event1(JTextField jet1,JTextField jet2,JTextField jet3)
             {
                 num1=jet1;
                 num2=jet2;
                 num3=jet3;
             }
             public void actionPerformed(ActionEvent actionEvent) {
                 String st1=num1.getText();
                 String st2=num2.getText();
                 if (st1.equals(" ") || st2.equals(" "))
                     JOptionPane.showMessageDialog(null,"请输入数字");
                 else if(!num(st1) || !num(st2))
                     JOptionPane.showMessageDialog(null,"请输入数字");
                 else
                 {
                     double a = Double.parseDouble(st1);
                     double b = Double.parseDouble(st2);
                     num3.setText(Double.toString(a+b));
                 }
             }
    
             }
    
    /*
     *此函数作用为:两数相减,并将结果输入到jet3中
     */
    
        class event2 implements ActionListener{
            JTextField num1=null;
            JTextField num2=null;
            JTextField num3=null;
            public event2(JTextField jet1,JTextField jet2,JTextField jet3)
            {
                num1=jet1;
                num2=jet2;
                num3=jet3;
            }
            public void actionPerformed(ActionEvent actionEvent) {
                String st1=num1.getText();
                String st2=num2.getText();
                if (st1.equals(" ") || st2.equals(" "))
                    JOptionPane.showMessageDialog(null,"请输入数字");
                else if(!num(st1) || !num(st2))
                    JOptionPane.showMessageDialog(null,"请输入数字");
                else
                {
                    double a = Double.parseDouble(st1);
                    double b = Double.parseDouble(st2);
                    jet3.setText(Double.toString(a-b));
                }
            }
    
    
        }
    
    /*
     *此函数作用为:将jet1-3的数值清空
     */
    
        class event3 implements ActionListener {
            JTextField num1 = null;
            JTextField num2 = null;
            JTextField num3 = null;
    
            public event3(JTextField jet1, JTextField jet2, JTextField jet3) {
                num1 = jet1;
                num2 = jet2;
                num3 = jet3;
            }
    
            public void actionPerformed(ActionEvent actionEvent) {
                num1.setText("");
                num2.setText("");
                num3.setText("");
            }
    
        }
    
        public static void main(String[] args) {
            new Step3_1();
        }
    }
    

    相关代码、函数解释

    Java Swing JTextField:单行文本框组件

    JTextField类实现一个单行文本框,它允许用户输入单行的文本信息。该类的常用构造方法如下:

    • JTextField():创建一个默认的文本框。
    • JTextField(String text):创建一个指定初始化文本信息的文本框。
    • JTextField(int columns):创建一个指定列数的文本框。
    • JTextField(String text,int columns):创建一个既指定初始化文本信息,又指定列数的文本框。
      123

    setLayout(null)意义

    在未设置Layout时,java默认为flowLayout(流式)布局,设置为null即为清空布局管理器,之后添加组件,常常是设置组件左上角坐标相对于容器左上角(0,0)的x,y值来确定组件的位置,即使更改容器大小也不会改变位置。这种方式常常用于窗体大小固定的容器里。
    嗯嗯

    setResizable

    如果传值为false,表示窗口界面不允许用户进行自行拖拽放大,只由程序员写代码时进行变化
    如果传值为true,表示可以由用户进行自行拖拽放大。

    setEditable

    此函数在不调用的时候默认为true,当此函数为false,则代表其控件不可以使用,适用于对于计算器计算值的实现

    setDefaultCloseOperation

    正如函数所表达的一样,该函数作用为设置默认的关闭操作,一般默认关闭操作为点击关闭时将窗口进行隐藏,因此需要设置为YOUR_NAME.EXIT_ON_CLOSE
    如果需要更多知识,点我

    setVisible

    此函数实现为将其窗口设置为可见,所以传值为true,,若为false,则不会显示窗口

    charAt

    charAt()方法返回指定索引位置的char值。索引范围为0~length()-1,如: str.charAt(0)检索str中的第一个字符,str.charAt(str.length()-1)检索最后一个字符。

    详情点我

    actionPerformed

    在实现方法时需要对其进行重写

    一般情况下,这是在编写GUI程序时,组件发生“有意义”的事件时会调用这个方法,比如按钮被按下,文本框内输入回车时都会触发这个事件,然后调用你编写的事件处理程序。
    实现过程大体如下:编写一个ActionListener类的侦听器,组件注册该侦听器,侦听器内部要编写这个actionPerformed方法

    showMessageDialog

    使用消息提示框进行提示信息
    详情点我

    展开全文
  • 供小白,新手学习的java-swing编写桌面程序,工程最好以eclipse打开
  • java编写一个简单计算器

    万次阅读 多人点赞 2017-12-24 10:51:39
    采用java编写一个简单计算器,使用awt和swing 代码如下: import java.awt.Color; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing....
    java

    采用java编写一个简单计算器,使用awt和swing


    代码如下:

    import java.awt.Color;
    import java.awt.Font;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;


    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;


    /*用java做一个计算器
     * 实现整数和小数的加减乘除
     * 具有删除和复位功能
     */
    public class CaculatorDemo extends JFrame {
    private static final long serialVersionUID = 1L;
    private StringBuilder sBuilder = new StringBuilder();
    private Double a;//中间变量用于存储输入的第一个数
    private Double b;//中间变量,用于存储输入的第二个数
    private Double double1;//用于接收计算结果
    private Integer i;// i用于表示加减乘除


    public CaculatorDemo() {
    this.setTitle("计算器");
    this.setSize(318, 457);
    this.setLocationRelativeTo(null);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


    JPanel panel = new JPanel();
    this.getContentPane().add(panel);
    panel.setLayout(null);


    // 定义一个label用于显示输入数据和计算结果,这里不用textfield,可以避免用户输入造成bug,简化程序开发
    final JLabel label = new JLabel();
    label.setBounds(0, 0, 300, 50);
    label.setFont(new Font("dialog", 1, 30));
    label.setOpaque(true);// 由于jlabel默认透明,直接设置背景色无效,需要先将不透明设置为true
    label.setBackground(Color.white);
    panel.add(label);


    // 定义按钮组件
    JButton button1 = new JButton("1");
    JButton button2 = new JButton("2");
    JButton button3 = new JButton("3");
    JButton button4 = new JButton("4");
    JButton button5 = new JButton("5");
    JButton button6 = new JButton("6");
    JButton button7 = new JButton("7");
    JButton button8 = new JButton("8");
    JButton button9 = new JButton("9");
    JButton button0 = new JButton("0");
    JButton buttonadd = new JButton("+");// 加
    JButton buttonminus = new JButton("-");// 减
    JButton buttontime = new JButton("×");// 乘
    JButton buttondivid = new JButton("÷");// 除
    JButton buttonequal = new JButton("=");// 等于
    JButton buttondecimal = new JButton(".");// 小数点
    JButton buttondelet = new JButton("←");// 删除
    JButton buttonclear = new JButton("C");// 清除


    // 定义按钮组件位置
    button0.setBounds(0, 50, 100, 60);
    button0.setFont(new Font("dialog", 1, 30));
    panel.add(button0);
    button1.setBounds(100, 50, 100, 60);
    button1.setFont(new Font("dialog", 1, 30));
    panel.add(button1);
    button2.setBounds(200, 50, 100, 60);
    button2.setFont(new Font("dialog", 1, 30));
    panel.add(button2);
    button3.setBounds(0, 110, 100, 60);
    button3.setFont(new Font("dialog", 1, 30));
    panel.add(button3);
    button4.setBounds(100, 110, 100, 60);
    button4.setFont(new Font("dialog", 1, 30));
    panel.add(button4);
    button5.setBounds(200, 110, 100, 60);
    button5.setFont(new Font("dialog", 1, 30));
    panel.add(button5);
    button6.setBounds(0, 170, 100, 60);
    button6.setFont(new Font("dialog", 1, 30));
    panel.add(button6);
    button7.setBounds(100, 170, 100, 60);
    button7.setFont(new Font("dialog", 1, 30));
    panel.add(button7);
    button8.setBounds(200, 170, 100, 60);
    button8.setFont(new Font("dialog", 1, 30));
    panel.add(button8);
    button9.setBounds(0, 230, 100, 60);
    button9.setFont(new Font("dialog", 1, 30));
    panel.add(button9);
    buttonadd.setBounds(100, 230, 100, 60);
    buttonadd.setFont(new Font("dialog", 1, 30));
    panel.add(buttonadd);//加
    buttonminus.setBounds(200, 230, 100, 60);
    buttonminus.setFont(new Font("dialog", 1, 30));
    panel.add(buttonminus);//减
    buttontime.setBounds(0, 290, 100, 60);
    buttontime.setFont(new Font("dialog", 1, 30));
    panel.add(buttontime);//乘
    buttondivid.setBounds(100, 290, 100, 60);
    buttondivid.setFont(new Font("dialog", 1, 30));
    panel.add(buttondivid);//除
    buttonequal.setBounds(200, 290, 100, 60);
    buttonequal.setFont(new Font("dialog", 1, 30));
    panel.add(buttonequal);//等于
    buttondecimal.setBounds(0, 350, 100, 60);
    buttondecimal.setFont(new Font("dialog", 1, 30));
    panel.add(buttondecimal);//小数点
    buttonclear.setBounds(100, 350, 100, 60);
    buttonclear.setFont(new Font("dialog", 1, 30));
    panel.add(buttonclear);//复位
    buttondelet.setBounds(200, 350, 100, 60);
    buttondelet.setFont(new Font("dialog", 1, 30));
    panel.add(buttondelet);//删除


    // 给各个按钮设置动作监听器
    // 输入数值操作0~9
    button0.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    sBuilder.append("0");
    label.setText(sBuilder.toString());
    }
    });
    button1.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    sBuilder.append("1");
    label.setText(sBuilder.toString());
    }
    });
    button2.addActionListener(new ActionListener() {


    @Override
    public void actionPerformed(ActionEvent e) {
    sBuilder.append("2");
    label.setText(sBuilder.toString());
    }
    });
    button3.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    sBuilder.append("3");
    label.setText(sBuilder.toString());
    }
    });
    button4.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    sBuilder.append("4");
    label.setText(sBuilder.toString());
    }
    });
    button5.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    sBuilder.append("5");
    label.setText(sBuilder.toString());
    }
    });
    button6.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    sBuilder.append("6");
    label.setText(sBuilder.toString());
    }
    });
    button7.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    sBuilder.append("7");
    label.setText(sBuilder.toString());
    }
    });
    button8.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    sBuilder.append("8");
    label.setText(sBuilder.toString());
    }
    });
    button9.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    sBuilder.append("9");
    label.setText(sBuilder.toString());
    }
    });


    // 输入运算符操作,需要先判断a是否为0.0
    buttonadd.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    a = Double.parseDouble(sBuilder.toString());
    sBuilder = new StringBuilder();
    label.setText("+");
    i = 0;
    }
    });
    buttonminus.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    a = Double.parseDouble(sBuilder.toString());
    sBuilder = new StringBuilder();
    label.setText("-");
    i = 1;
    }
    });
    buttontime.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    a = Double.parseDouble(sBuilder.toString());
    sBuilder = new StringBuilder();
    label.setText("×");
    i = 2;
    }
    });
    buttondivid.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    a = Double.parseDouble(sBuilder.toString());
    sBuilder = new StringBuilder();
    label.setText("÷");
    i = 3;
    }
    });
    buttonequal.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    // 该判断中间变量是否为空
    if (!"".equals(sBuilder.toString()) && (!(a == 0.0))) {
    b = Double.parseDouble(sBuilder.toString());
    if (i == 0) {
    double1 = a + b;
    label.setText(double1.toString());
    sBuilder = new StringBuilder();
    sBuilder.append(double1);
    } else if (i == 1) {
    double1 = a - b;
    label.setText(double1.toString());
    sBuilder = new StringBuilder();
    sBuilder.append(double1);
    } else if (i == 2) {
    double1 = a * b;
    label.setText(double1.toString());
    sBuilder = new StringBuilder();
    sBuilder.append(double1);
    } else if (i == 3) {
    double1 = a / b;
    label.setText(double1.toString());
    sBuilder = new StringBuilder();
    sBuilder.append(double1);
    } else {
    label.setText(sBuilder.toString());
    }
    }
    }
    });
    buttondecimal.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    sBuilder.append(".");
    label.setText(sBuilder.toString());
    }
    });
    buttonclear.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    sBuilder = new StringBuilder();
    label.setText("");
    }
    });
    buttondelet.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    if (!"".equals(sBuilder.toString())) {
    sBuilder.deleteCharAt(sBuilder.length() - 1);
    label.setText(sBuilder.toString());
    }
    }
    });


    this.setVisible(true);
    }


    public static void main(String[] args) {
    new CaculatorDemo();
    }
    }

    展开全文
  • 入门小白如何使用JAVA编写一个简单的计算器 如果觉得有用 请点赞或关注~以后会发布更多有用的内容。 小白:JAVA怎么编写计算器???一脸懵逼… 老师:让你平时不认真听课 教学时间 思路:利用 if 语句能判断的...
  • java编写一个计算器

    2013-04-18 12:13:42
    模拟Windows中附件里面的计算器软件的界面
  • import 使用 java 语言开发一个简易计算器 * * */ public class TestJsq extends JFrame implements ActionListener, KeyListener { private JTextField jtf; private JButton jb_bk, jb_ce, jb_c; private String ...
  • JAVA编写计算器

    千次阅读 多人点赞 2019-05-23 22:32:02
    JAVA编写一个实现加减乘除运算的计算器 1.实现加减乘除以及乘方运算; 2.C是清除键,清除之前输入所有数据,计算结果归零。 3.CE也是清除键,清除上一个输入的数据。 思路就是创建一个窗口,然后给窗口添加容器或...
  • 本篇文章给大家分享的只用200行java代码,实现一个计算器程序,不仅能够计算加减乘除,还能够匹配括号。实现代码超简单,需要的朋友参考下吧
  • Java编写一个简单的计算器

    千次阅读 2020-05-09 18:58:35
    整体分为窗口、运算、按钮事件三部分 import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import static java.lang.StrictMath.pow; import static java.lang....
  • java编写一个计算器

    2012-06-28 16:47:55
    有科学以及基本计算功能的计算器,可以进行科学计算,例如求sin、cos等
  • 2、计算器显示部分分为两区域:第行显示输入将要计算的数值及符号,第二行显示结果,第行字体要,第二行字体要大,且加粗。 版本2.0 1、实现最简单的加减乘除 2、按“=”显示计算结果 版本2.1 1、...
  • 主要介绍了Java实现图形化界面的计算器加法程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的伙伴们可以参考一下
  • 这只是一个小程序,不过你可以在此基础上扩展功能!
  • 初学java,试着写了一个小程序,可能有很多不足,希望大家多多见谅。 import java.util.Scanner; public class Demo04 { public static void main(String[] args) { while (true) { Scanner scanner = new ...
  • JAVA编写计算器程序(模拟 Windows计算器) import java.awt; import java.awt.event; PUbIiC class Calculation extends WindowAdapter implements ACtionLiStener { double dResult=0; double dNowI nput=O; ...
  • NULL 博文链接:https://i-mty1.iteye.com/blog/2101019
  • 实现一个简单计算器 通过之前的学习,创建 Frame 对象,按钮,绑定事件监听,文本框监听,等功能,实现一个简单计算器 package JavaGUI; import JavaSE.oop.Test; import java.awt.*; import java.awt.event....
  • Java编写一个计算器程序.pdf
  • JAVA初学者编写一个计算器程序。

    千次阅读 多人点赞 2019-03-07 21:07:09
    学完运算符后,用简单的java程序写一个计算器,简单易懂,但是还有缺陷,输出界面不美观。 import java.util.Scanner; public class JiSuanQi { public static void main(String[] args) { System.out.println...
  • 怎样用Java编写一个简单的计算器

    万次阅读 多人点赞 2017-06-22 15:26:46
    我是自己纯手工用Java编写计算器 //filename:JiShuan import java.awt.Color; import java.awt.EventQueue; import java.awt.Image; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing...
  • java编写一个简单的计算器小程序 希望对大家有所帮助
  • java语言实现的一个简单计算器,支持加减乘除,小数,带括号运算,不支持负数,该程序带有界面,附带使用方法,算法实现简单,可能有一些bug未解决,主要是测试有限。。
  • 一个计算器,计算num1 X num2的值, X表示你输入的运算符:+ - * / %等 ,num1,num2从键盘输入,X从键盘输入。
  • 使用jsp编写一个计算器的页面,实现加减乘除功能。
  • 而且它甚至浓缩为一个小的脚本供您运行。 当然,您始终可以免费使用我们的无广告托管网站 ! 要求 对于Java:建议使用Java 7及更高版本。 但是,我们认为这在Java 6上可以很好地工作。但是,我们不支持Java 6,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,491
精华内容 6,596
关键字:

java编写一个小计算器

java 订阅