当前位置:编程学习 > JAVA >>

java课程设计---计算器 要求如下:

 

计算器所遵循的计算规则与Windows2000/XP系统中的“计算器”相同,除了具有普通的计算功能外,还具有显示计算过程、保存计算过程之功能。

(1)    单击“计算器”上的数字按钮(0、1、2、3、4、5、6、7、8、9)可以设置参与计算的运算数。

(2)    单击“计算器”上的运算符按钮(+、-、*、/)可以选择运算符号。

(3)    单击“计算器”上的函数按钮可以计算出相应的函数值。

(4)    单击“计算器”上的“=”按钮显示计算结果。

(5)    在一个文本框中显示当前的计算过程,在一个文本区中显示以往的计算过程。

(6)    单击“保存”按钮可以将文本区中的全部计算过程保存到文件;单击“复制”按钮可以将文本区中的文本复制到剪贴板;单击“清除”按钮可以清除文本区中的全部内容。

 

补充:手里有源代码,想知道怎么写报告
追问:一边呆着

答案:import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.util.LinkedList;
import java.io.*;
public class CalculatorWindow extends JFrame implements ActionListener{
    NumberButton numberButton[];                 
    OperationButton operationButton[];            
    JButton 小数点操作,正负号操作,退格操作,等号操作,清零操作,sin;
    JTextField resultShow;          //显示计算结果
    JTextField showComputerProcess; //显示当前计算过程
    JTextArea  saveComputerProcess; //显示计算步骤
    JButton saveButton,copyButton,clearButton;
    LinkedList<String> list;   //链表用来存放第一个运算数、运算符号和第二个运算数
    HandleDigit handleDigit;  //负责处理ActionEvent事件
    HandleOperation handleOperation ;
    HandleBack handleBack;
    HandleClear handleClear;
    HandleEquality handleEquality;
    HandleDot handleDot;
    HandlePOrN handlePOrN;
    HandleSin handleSin;
    public CalculatorWindow(){
        setTitle("计算器");
        JPanel panelLeft,panelRight;
        list=new LinkedList<String>();
        resultShow=new JTextField(10);
        resultShow.setHorizontalAlignment(JTextField.RIGHT);
        resultShow.setForeground(Color.blue);
        resultShow.setFont(new Font("TimesRoman",Font.BOLD,16));
        resultShow.setBorder(new SoftBevelBorder(BevelBorder.LOWERED));
        resultShow.setEditable(false);
        resultShow.setBackground(Color.white);
        showComputerProcess=new JTextField();
        showComputerProcess.setHorizontalAlignment(JTextField.CENTER);
        showComputerProcess.setFont(new Font("Arial",Font.BOLD,16));
        showComputerProcess.setBackground(Color.cyan);
        showComputerProcess.setEditable(false);
        saveComputerProcess=new JTextArea();
        saveComputerProcess.setEditable(false);
        saveComputerProcess.setFont(new Font("宋体",Font.PLAIN,16));
        numberButton=new NumberButton[10];
        handleDigit=new HandleDigit(list,resultShow,showComputerProcess);
        for(int i=0;i<=9;i++){
            numberButton[i]=new NumberButton(i);
            numberButton[i].setFont(new Font("Arial",Font.BOLD,20));
            numberButton[i].addActionListener(handleDigit);
        }
        operationButton=new OperationButton[4];
        handleOperation=new HandleOperation(list,resultShow,
                         showComputerProcess,saveComputerProcess);
        String 运算符号[]={"+","-","*","/"};
        for(int i=0;i<4;i++){
           operationButton[i]=new OperationButton(运算符号[i]);
           operationButton[i].setFont(new Font("Arial",Font.BOLD,20));
           operationButton[i].addActionListener(handleOperation);
        }
       小数点操作=new JButton(".");
       handleDot=new HandleDot(list,resultShow,showComputerProcess);
       小数点操作.addActionListener(handleDot);
       正负号操作=new JButton("+/-");
       handlePOrN=new HandlePOrN(list,resultShow,showComputerProcess);
       正负号操作.addActionListener(handlePOrN);
       等号操作=new JButton("=");
       handleEquality=new HandleEquality(list,resultShow,
                                         showComputerProcess,saveComputerProcess);
       等号操作.addActionListener(handleEquality);
       sin=new JButton("sin");
       handleSin=new HandleSin(list,resultShow,
                               showComputerProcess,saveComputerProcess);
       sin.addActionListener(handleSin);
       退格操作=new JButton("退格");
       handleBack=new HandleBack(list,resultShow,showComputerProcess);
       退格操作.addActionListener(handleBack);
       清零操作=new JButton("C");
       handleClear=new HandleClear(list,resultShow,showComputerProcess);
       清零操作.addActionListener(handleClear);
       清零操作.setForeground(Color.red);
       退格操作.setForeground(Color.red);
       等号操作.setForeground(Color.red);
       sin.setForeground(Color.blue);
       正负号操作.setForeground(Color.blue);
       小数点操作.setForeground(Color.blue);
       panelLeft=new JPanel();
       panelRight=new JPanel();
       panelLeft.setLayout(new BorderLayout());
       JPanel centerInLeft=new JPanel();
       panelLeft.add(resultShow,BorderLayout.NORTH);
       panelLeft.add(centerInLeft,BorderLayout.CENTER);
       centerInLeft.setLayout(new GridLayout(4,5));
       centerInLeft.add(numberButton[1]);
       centerInLeft.add(numberButton[2]);
       centerInLeft.add(numberButton[3]);
       centerInLeft.add(operat

上一个:Java聊天室服务器端和客户端的完整代码
下一个:用java实现贪吃蛇移动的关键代码怎么写?

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,