《Java课程设计》说明书
课程设计报告书目录
一、设计课题
二、设计目的
三、操作环境
四、设计场所(机房号、机器号或自己机器)
五、设计过程(设计内容及及各源代码板块)
六、本次设计中用到的课程知识点(列出主要知识点)
七、设计过程中遇到的问题及解决办法
八、设计心得总结
一、设计课题及内容
设计课题:
计算器程序设计
设计内容:
设计一个图形界面(GUI)的计算器应用程序,完成简单的算术运算;
二、设计目的
为了实现计算器的基本算法,掌握图形界面的设计和实现,巩固知识
如:
熟悉java.awt,java.math,java.swing等包中的组件。
掌握图形界面设计方法。
掌握窗体按钮和文本控件对事件的响应。
了解java自带的函数方法。
三、操作环境
硬件环境:Windows10系统
软件环境:eclipse
四、设计场所
敏行楼B403
五、设计过程
设计内容:
1.设计要求
(1)设计的计算器应用程序可以完成加法、减法、乘法、除法和取余运算;
(2)有小数点、正负号、求倒数、退格和清零等功能。
2.总体设计
  本程序是为了实现计算器的基本功能的运行。利用去实现计算器的基本功能。
3.科学计算器界面截图:
1)功能描述
1、打开计算器。首先是标准型的计算器,具有基本的加减乘除,开方等基本功能。同时,在标准型的计算器中还可以存储文本框中的内容。如图1所示:
                     
图1标准型计算器界面
2、在标准型的计算器界面中,进行的运算--加法运算。如计算2+3=5.0。
如图2
图2加法功能
    3、实现减法运算.如计算:4-2=2.0 如图3       
图3 减法运算
4、实现取余运算.如计算 12%20=12.0  如图4
         
图4取余计算
4.程序整体设计说明
【1】程序中所用到的变量
count、line1、line2、leng、input、input1
【2】代码列表:
    import java.awt.FlowLayout;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JTextField;
public class Computer{
    static int count=0;
    static int leng=0;
    static String line1="";
    static String line2="";
    JFrame jf = new JFrame("计算器");
    JMenuBar jmb =new JMenuBar();
    JMenu menu1 = new JMenu("编辑(E)");
    JMenu menu2 = new JMenu("查看(V)");
    JMenu menu3 = new JMenu("帮助(H)");
    JTextField text1 = new JTextField(480);
    JButton button1 = new JButton("Backspace");
    JButton button2 = new JButton("CE");
    JButton button3 = new JButton("C");;
    JButton button4 = new JButton("MC");
    JButton button5 = new JButton("1/x");
    JButton button6 = new JButton("log");
    JButton button7 = new JButton("7");
    JButton button8 = new JButton("8");
    JButton button9 = new JButton("9");
    JButton button10 = new JButton("/");
    JButton button11 = new JButton("MR");
    JButton button12 = new JButton("n!");
    JButton button13 = new JButton("sqrt");
    JButton button14 = new JButton("4");
    JButton button15 = new JButton("5");
    JButton button16 = new JButton("6");
    JButton button17 = new JButton("*");
    JButton button18 = new JButton("MS");
    JButton button19 = new JButton("sin");
    JButton button20 = new JButton("x^2");
    JButton button21 = new JButton("1");
    JButton button22 = new JButton("2");
    JButton button23 = new JButton("3");
    JButton button24 = new JButton("-");
    JButton button25 = new JButton("M+");
    JButton button26 = new JButton("cos");
    JButton button27 = new JButton("x^3");
    JButton button28 = new JButton("0");
    JButton button29 = new JButton("-/+");
    JButton button30 = new JButton(".");
    JButton button31 = new JButton("+");
    JButton button32 = new JButton("tan");
    JButton button33 = new JButton("%");
    JButton button34 = new JButton("π");
    JButton button35 = new JButton("e");
    JButton button36 = new JButton("’ ”");
    JButton button37 = new JButton("=");
    Computer(){
        jmb.add(menu1);
        jmb.add(menu2);
        jmb.add(menu3);
        text1.setBounds(0,0,480,30);
        text1.setHorizontalAlignment(JTextField.RIGHT);
        button1.setBounds(0,30,200,50);
        button2.setBounds(200,30,140,50);
        button3.setBounds(340,30,140,50);
        button4.setBounds(0,80,60,68);
        button5.setBounds(60,80,70,52);
        button6.setBounds(130,80,70,52);
        button7.setBounds(200,80,70,52);
        button8.setBounds(270,80,70,52);
        button9.setBounds(340,80,70,52);
        button10.setBounds(410,80,70,52);
        button11.setBounds(0,140,60,69);
        button12.setBounds(60,130,70,52);
        button13.setBounds(130,130,70,52);
        button14.setBounds(200,130,70,52);
        button15.setBounds(270,130,70,52);
        button16.setBounds(340,130,70,52);
        button17.setBounds(410,130,70,52);
        button18.setBounds(0,200,60,69);
        button19.setBounds(60,180,70,52);
        button20.setBounds(130,180,70,52);
        button21.setBounds(200,180,70,52);
        button22.setBounds(270,180,70,52);
        button23.setBounds(340,180,70,52);
        button24.setBounds(410,180,70,52);
        button25.setBounds(0,260,60,69);
        button26.setBounds(60,230,70,52);
        button27.setBounds(130,230,70,52);
        button28.setBounds(200,230,70,52);
        button29.setBounds(270,230,70,52);
        button30.setBounds(340,230,70,52);
        button31.setBounds(410,230,70,52);
        button32.setBounds(60,280,70,52);
        button33.setBounds(130,280,70,52);
        button34.setBounds(200,280,70,52);
        button35.setBounds(270,280,70,52);
        button36.setBounds(340,280,70,52);
        button37.setBounds(410,280,70,52);
        jmb.add(menu1);jmb.add(menu2);jmb.add(menu3);
    jf.add(button1);jf.add(button2);jf.add(button3);jf.add(button4);jf.add(button5);
    jf.add(button6);jf.add(button7);jf.add(button8);jf.add(button9);jf.add(button10);
    jf.add(button11);jf.add(button12);jf.add(button13);jf.add(button14);jf.add(button15);
    jf.add(button16);jf.add(button17);jf.add(button18);jf.add(button19);jf.add(button20);
    jf.add(button21);jf.add(button22);jf.add(button23);jf.add(button24);jf.add(button25);
    jf.add(button26);jf.add(button27);jf.add(button28);jf.add(button29);jf.add(button30);
    jf.add(button31);jf.add(button32);jf.add(button33);jf.add(button34);jf.add(button35);
        jf.add(button36);jf.add(button37);
        button1.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e) {
                String line = Text();
                String line1 = line.substring(0,line.length()-1);
                text1.setText(line1);
            }
        });//Backspace:退格
        button3.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e) {
                text1.setText("");
            }
        });//C:清空
        button7.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e) {
                String input = Text();
                String input1 = input+"7";
                text1.setText(input1);
            }
        });
        button8.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e) {
                String input = Text();
                String input1 = input+"8";
                text1.setText(input1);
            }
        });
        button9.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e) {
                String input = Text();
                String input1 = input+"9";
                text1.setText(input1);
            }
        });
        button10.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e) {
                count = 4;
                String input = Text();
                String input1;
                line1 = input;
                leng = input.length();
                input1 = input + "/";
                text1.setText(input1);
            }
        });
        button14.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e) {
                String input = Text();
                String input1 = input + "4";
                text1.setText(input1);
            }
        });
        button15.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e) {
                String input = Text();
                String input1 = input + "5";
                text1.setText(input1);
            }
        });
        button16.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e) {
                String input = Text();
                String input1 = input + "6";
                text1.setText(input1);
            }
        });
        button17.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e) {
                count = 3;
                String input = Text();
                String input1;
                line1 = input;
                leng = input.length();
                input1 = input + "*";
                text1.setText(input1);
            }
        });
        button21.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e) {
                String input = Text();
                String input1 = input + "1";
                text1.setText(input1);
            }
        });
        button22.addActionListener(new ActionListener(){
            @Override
java程序设计主要内容            public void actionPerformed(ActionEvent e) {
                String input = Text();
                String input1 = input + "2";
                text1.setText(input1);
            }
        });
        button23.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e) {
                String input = Text();
                String input1 = input + "3";
                text1.setText(input1);
            }
        });
        button24.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e) {
                count = 2;
                String input = Text();
                String input1;
                line1 = input;
                leng = input.length();
                input1 = input + "-";
                text1.setText(input1);
            }
        });
        button28.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e) {
                String input = Text();
                String input1 = input + "0";
                text1.setText(input1);
            }
        });
        button29.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e) {
                String input = Text();
                String input1 = input + "-/+";
                text1.setText(input1);
            }
        });
        button30.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e) {
                String input = Text();
                String input1 = input + ".";
                text1.setText(input1);
            }
        });
        button31.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e) {
                count = 1;
                String input = Text();
                String input1;
                line1 = input;
                leng = input.length();
                input1 = input + "+";
                text1.setText(input1);
            }
        });
        button33.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e) {
                count = 5;
                String input = Text();
                String input1;
                line1 = input;
                leng = input.length();
                input1 = input + "%";
                text1.setText(input1);
            }
        });
        button37.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent e) {
                String input1 = Text();
                line2 = input1.substring(leng+1,input1.length());//到运算符号的后一位数字
                double result = 0;
                double x1 = Double.parseDouble(line1);
                double x2 = Double.parseDouble(line2);
                switch(count){
                case 1:result = x1+x2;text1.setText(String.valueOf(result));break;
                case 2:result = x1-x2;text1.setText(String.valueOf(result));break;
                case 3:result = x1*x2;text1.setText(String.valueOf(result));break;
                case 4:result = x1/x2;text1.setText(String.valueOf(result));break;
                case 5:result = x1%x2;text1.setText(String.valueOf(result));break;
                }
            }
        });
        jf.setLayout(null);
        jf.setJMenuBar(jmb);
        jf.add(text1);
        jf.setVisible(true);
        jf.setSize(500,410);
    }
    public static void main(String[] args) {
        Computer c = new Computer();
    }
}
           
   
六、设计中用到的课程知识点
Java语言课程设计:
1.布局管理器:borderLayout,gridLayout
2.组件:JTextFieldJButton
3.图形用户界面;
4.的使用;
七、设计中遇到的问题及解决方法
问题1:怎么得到如何区别计算器实现的是什么功能?
解决方法:定义一个变量count,当实现不同的功能时count为不同的值,通过switch case(if else)方法进行判断
问题2:怎么得到点击运算符之后的数字
解决方法:得到运算符及运算符之前的长度,利用substring的方法得到
八、设计心得总结
设计心得总结
java一直是我比较头疼的学科,因为掌握不牢固,所以做题十分吃力,因为不会,所以面对问题喜欢逃避,但是从这次的程序设计中,我收获很多。我知道这次程序设计对我来说不算简单,但是我没有退缩,在同学的帮助和讲解下完成了这份报告,虽然还是有很多不明白的地方,但我相信我可以克服它们。这次的课程设计又让我重新巩固了课上的知识,让我明白了自己欠缺的地方并去加以改正。在以后的学习中,我定会努力克服困难,遇到问题不退缩,积极询问,为自己的学业成绩尽自己最大的努力。

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