java最简单计算器

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

简易计算器的,时间模块具体添加还没搞好

package abc;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import ng.Math.* ;

import java.sql.Date;

import java.text.SimpleDateFormat;

import java.util.TimerTask;

import java.util.Calendar;

import java.util.Timer;

public class JCalculator extends JFrame implements ActionListener { private static final long serialVersionUID = -169068472193786457L;

private class WindowCloser extends WindowAdapter {

public void windowClosing(WindowEvent we) {

System.exit(0);

}

}

Label nowtime;//定义一个系统时间标签,用于显示获取当前系统时间

JLabel label=new JLabel();

public static String getCurrentTime()

//设置时间

{

System.currentTimeMillis();

Date currentTime = new Date(System.currentTimeMillis());

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateString = sdf.format(currentTime);

return dateString;

}

int i;

private final String[] str = { "7", "8", "9", "/", "*", "4", "5", "6", "+",

"-", "1", "2", "3", ".", "=", "0","sqrt" };

JButton[] buttons = new JButton[str.length];

JButton reset = new JButton("CE");

JTextField display = new JTextField("0");

public JCalculator() {

super("简易计算器");

JPanel panel1 = new JPanel(new GridLayout(4,4));

for (i = 0; i < str.length; i++) {

buttons[i] = new JButton(str[i]);

panel1.add(buttons[i]);

}

JPanel panel2 = new JPanel(new BorderLayout());

panel2.add("Center", display);

panel2.add("East", reset);

getContentPane().setLayout(new BorderLayout());

getContentPane().add("North", panel2);

getContentPane().add("Center", panel1);

for (i = 0; i < str.length; i++)

buttons[i].addActionListener(this);

reset.addActionListener(this);

display.addActionListener(this);

addWindowListener(new WindowCloser());

setSize(800, 800);

setVisible(true);

pack();

}

public void actionPerformed(ActionEvent e) {

Object target = e.getSource();

String label = e.getActionCommand();

if (target == reset)

handleReset();

else if ("0123456789.".indexOf(label) > 0)

handleNumber(label);

else

handleOperator(label);

}

boolean isFirstDigit = true;

public void handleNumber(String key) {

if (isFirstDigit)

display.setText(key);

else if ((key.equals(".")) && (display.getText().indexOf(".") < 0)) display.setText(display.getText() + ".");

else if (!key.equals("."))

display.setText(display.getText() + key);

isFirstDigit = false;

}

public void handleReset() {

display.setText("0");

isFirstDigit = true;

operator = "=";

}

double number = 0.0;

String operator = "=";

public void handleOperator(String key) {

if (operator.equals("+"))

number += Double.valueOf(display.getText());

else if (operator.equals("-"))

number -= Double.valueOf(display.getText());

else if (operator.equals("sqrt"))

number=Math.sqrt(Double.valueOf(display.getText()));

else if (operator.equals("*"))

number *= Double.valueOf(display.getText());

相关文档
最新文档