1、摘要
 
2、概要设计
3、详细设计
4、测试分析
5、总结
6、参考文献
【前言】
Java不依赖平台的特点使得它受到广泛的关注,Java已成为网络时代最重要的语言之一。Java 语言不仅是一门正在被广泛使用的编程语言,而且已成为软件设计开发者应当掌握的一门基础语言。目前,很多新的技术领域都涉及Java语言,国内外许多大学已将Java语言列入了本科教学计划,掌握Java已经成为共识。
本次课程设计就是利用java语言来编写简单的计算器,能进行加、减、乘、除四则运算,下面给出了该设计的理论分析和具体步骤。
一、摘要
本计算器可以进行简单的四则运算(加、减、乘、除),但仅限于十进制下。“Backspace”按钮表示退格,“CE”按钮表示清除当前文本框内的数据,“C”按钮表示清除文本框内数据,同时var、answer清零。该程序可在JCreator环境下直接运行。
二、概要设计
1、自定义说明
(1)类名:Calculator
    作用:主类
    继承的父类:JFrame类
    实现的接口:ActionListener类
public class Calculator extends JFrame implements ActionListener
{
 
  private static String[] btnTexts = {"0","1","2","3","4","5","6","7","8","9","+","-","*","/",".","+/-"};
//定义数组bstTexts来存放计算器上的各个按钮
 
Button button[] = new Button[16];
  Button BkButton,CeButton,CButton,EqButton;
  boolean clickable;      //控制前能否按
  double vard, answerd;    //用保存double型据的中间值(vard)和最后果(answerd)
  short key = -1, prekey = -1;  //key用保存行何种运算,prekey用保存前次行何种运
  DecimalFormat df;              //出精度
  private JTextField displayField = new JTextField(" ");    //
    public Calculator()
{
    ………
}
public void actionPerformed(ActionEvent event)
{
    ………
}
}
(2)方法名:Calculator
    作用:设置窗体布局
    public Calculator()
  {
      //Frame frame = new Frame("Calculator");
      super("Calculator");                    //示主窗口标题“Calculator”
    df = new DecimalFormat("0.00000000");  //出精度(于double型)
    BkButton = new Button("Backspace");
      BkButton.d);
    CeButton = new Button("CE");
    d);
    CButton = new Button("C");
    CButton.d);
      EqButton = new Button("=");
EqButton.d);  //“Backspace”、“CE”、C、“=”为红
    BkButton.addActionListener(this);
    nListener(this);
    CButton.addActionListener(this);
      EqButton.addActionListener(this);
    displayField.setHorizontalAlignment(JTextField.RIGHT);  //将计示在displayField的右面
      JPanel p1 = new JPanel(new FlowLayout());  //以FlowLayout布局p1
      p1.add(BkButton);
      p1.add(CeButton);
      p1.add(CButton);
      p1.add(EqButton);    //:"Backspace","CE","C","="
      JPanel p2 = new JPanel(new GridLayout(2,1)); //以GridLayout布局p2
      p2.add(displayField);
      p2.add(p1);                      //加入果的JTextField和p1
      JPanel p3 = new JPanel(new GridLayout(4,4)); //以GridLayout布局p3
      for(int i = 0;i < btnTexts.length;i++)
      {
button[i] = new Button(btnTexts[i]);  //将数组btnTexts[]的值赋给数组button[]
button[i].setForeground(Color.blue);    //件button的前景
        p3.add(button[i]);
        button[i].addActionListener(this);
      }
      Container cp = ContentPane();      //采用默的BorderLayout布局cp
      cp.add(p2,BorderLayout.NORTH);
R);
    }
(3)方法名:actionPerformed
      作用:设置各个按钮的行为
public void actionPerformed(ActionEvent event)
    {
boolean sign = false;    //判是否是double型数参与运算,是true,不是false
        Object temp = Source();
        try
        {
for (int i = 0; i <= 9; i++)  //如果按下据按按下的按代表的入的前文本框字符串之后
                if (temp == button[i] && clickable == true)
    displayField.Text() + String(i));
//按下'.'按钮时,判断当前文本框字符串中含不含'.',如果已含,不允入'.'
            if (temp == button[14] && clickable == true)
            {
              ……….
            }
            if ( (temp == button[10] || temp == button[11] || temp == button[12] || temp == button[13]) && clickable == true)
            {
              //'+'操作
              if (temp == button[10])
              {
                  …………
              }
              //'-'操作
              if (temp == button[11])
              {
                …………
              }
基于java的课程设计题目              //'*'操作
              if (temp == button[12])
              {
                  …………
              }
              //'/'操作
              if (temp == button[13])
            {
                  …………
              }
            //'='操作
            if (temp == EqButton && clickable == true)
            {
                  …………
            }
            //按下'+/-'按钮时处
            if (temp == button[15] && clickable == true)
            {
              …………
          }
            //按下'Backspace',利用循环将当前字符串中的最后一字母
            if (temp == BkButton && clickable == true)
            {
                …………
              }
              //按下'CE'按将当前文本框内数
              if (temp == CeButton)
              {
                  ………
              }
              //按下'C'按,文本框内数除,同var,answer0
              if (temp == CButton)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。