JAVA课程设计淘宝管理系统.docx
《JAVA课程设计淘宝管理系统.docx》由会员分享,可在线阅读,更多相关《JAVA课程设计淘宝管理系统.docx(8页珍藏版)》请在冰豆网上搜索。
JAVA课程设计淘宝管理系统
课程设计说明书
一、课程设计目的
1通过实际的编程与学习,了解自己的学习情况和实际动手能力;
2通过编程发现问题与解决问题,提高自己解决问题的能力;
3通过编程熟悉java的编程过程和软件的使用技巧。
二、设计内容
1设计计算器的框架与组件;
2向面板上添加按钮与组件并给每个面板添加事件;
3设计事件的响应,实现计算功能。
三、要求分析
1需求1;
2需求2;
3需求3。
四、概要设计(功能设计)
用户随意进行加、减、乘、除、平方、开跟等操作,方便快捷的实现运算功能,方便用户进行准确无误的运算。
设计思路:
向Frame中添加容器,在north中添加文本框,center中添加面板,面板设为gridlayout布局,然后添加按纽,设置监听器,设置事件和响应。
五、程序源代码(详细设计)
importjava.awt.*;
importjava.awt.event.*;//引入事件包
importjavax.swing.*;
importjava.lang.Math;//引入Math包,进行数学运算
publicclassCalculatorimplementsActionListener,WindowListener
{
privateJFramef=newJFrame("计算器");
JTextFieldtf=newJTextField(10);Stringm;
charsign;//判断符号:
+、-、×、/
Doublea,b,c;//a为第一个运算数,b为第二个运算数,c为输出数
Panelpa;//定义面板
Buttonbqingkong;//定义按钮
Buttonbtuige;Buttonbkaigen;Buttonbpingfang;Buttonb1;
Buttonb2;Buttonb3;Buttonbcheng;Buttonb4;Buttonb5;Buttonb6;Buttonbchu;Buttonb7;Buttonb8;Buttonb9;Buttonbjian;Buttonb0;Buttonbpoint;Buttonbjia;Buttonbdengyv;
publicvoidcreat()//建立计算器面板
{
f.setSize(200,300);f.setVisible(true);tf.setEditable(false);
tf.setHorizontalAlignment(JTextField.RIGHT);Containerc=f.getContentPane();//设置容器c.add(BorderLayout.NORTH,tf);
Panelp=newPanel();c.add(BorderLayout.CENTER,p);GridLayoutg=newGridLayout(5,4);p.setLayout(g);
bqingkong=newButton("C");//分别添加按钮和事件
bqingkong.addActionListener(this);
p.add(bqingkong);btuige=newButton("back");btuige.addActionListener(this);p.add(btuige);
bkaigen=newButton("√");
bkaigen.addActionListener(this);
p.add(bkaigen);bpingfang=newButton("^2");bpingfang.addActionListener(this);p.add(bpingfang);
b1=newButton("1");b1.addActionListener(this);p.add(b1);
b2=newButton("2");b2.addActionListener(this);p.add(b2);
b3=newButton("3");b3.addActionListener(this);p.add(b3);
bcheng=newButton("*");bcheng.addActionListener(this);p.add(bcheng);
b4=newButton("4");
b4.addActionListener(this);
p.add(b4);
b5=newButton("5");b5.addActionListener(this);p.add(b5);
b6=newButton("6");b6.addActionListener(this);p.add(b6);
bchu=newButton("/");bchu.addActionListener(this);p.add(bchu);
b7=newButton("7");b7.addActionListener(this);p.add(b7);
b8=newButton("8");b8.addActionListener(this);p.add(b8);
b9=newButton("9");b9.addActionListener(this);p.add(b9);
bjian=newButton("-");bjian.addActionListener(this);p.add(bjian);
b0=newButton("0");b0.addActionListener(this);p.add(b0);
bpoint=newButton(".");bpoint.addActionListener(this);p.add(bpoint);
bjia=newButton("+");bjia.addActionListener(this);p.add(bjia);
bdengyv=newButton("=");bdengyv.addActionListener(this);p.add(bdengyv);
}
publicstaticvoidmain(String[]args)//主函数
{
Calculatorcalculator=newCalculator();
calculator.creat();
}
publicvoidwindowClosing(WindowEventarg0)//设置关闭窗口事件
{
System.exit
(1);
}
publicvoidactionPerformed(ActionEvente)//设置响应事件
{
if(e.getSource()==b1)
{
Stringm=tf.getText();
tf.setText(m+"1");//向屏幕上添加数字
}
if(e.getSource()==b2)
{
Stringm=tf.getText();
tf.setText(m+"2");
}
if(e.getSource()==b3)
{
Stringm=tf.getText();
tf.setText(m+"3");
}
if(e.getSource()==b4)
{Stringm=tf.getText();
tf.setText(m+"4");
}
if(e.getSource()==b5)
{
Stringm=tf.getText();
tf.setText(m+"5");
}
if(e.getSource()==b6)
{
Stringm=tf.getText();
tf.setText(m+"6");
}
if(e.getSource()==b7)
{
Stringm=tf.getText();
tf.setText(m+"7");
}
if(e.getSource()==b8)
{
Stringm=tf.getText();
tf.setText(m+"8");
}
if(e.getSource()==b9)
{
Stringm=tf.getText();
tf.setText(m+"9");
}
if(e.getSource()==b0)
{
Stringm=tf.getText();
tf.setText(m+"0");
}
if(e.getSource()==bpoint)
{
Stringm=tf.getText();
tf.setText(m+".");
}
if(e.getSource()==bjia)
{Stringm=tf.getText();//从屏幕上取回字符串
a=Double.valueOf(m);//转换为Double型
tf.setText("");
sign='+';//设置标识符
}
if(e.getSource()==bjian)
{
Stringm=tf.getText();a=Double.valueOf(m);tf.setText("");
sign='-';
}
if(e.getSource()==bcheng)
{
Stringm=tf.getText();a=Double.valueOf(m);tf.setText("");
sign='*';
}
if(e.getSource()==bchu)
{
Stringm=tf.getText();a=Double.valueOf(m);tf.setText("");
sign='/';
}
if(e.getSource()==bkaigen)
{
Stringm=tf.getText();a=Double.valueOf(m);c=Math.sqrt(a);m=Double.toString(c);tf.setText("="+m);
}
if(e.getSource()==bpingfang)
{
Stringm=tf.getText();a=Double.valueOf(m);c=a*a;m=Double.toString(c);tf.setText("="+m);
}
if(e.getSource()==btuige)
{
Stringm=tf.getText();
tf.setText(m.substring(0,m.length()-1));
}
if(e.getSource()==bqingkong)
{
tf.setText("");a=b=c=0.0;m="";
sign='';
}
if(e.getSource()==bdengyv)
{
Stringm=tf.getText();b=Double.valueOf(m);switch(sign)
{
case'+':
c=a+b;break;case'-':
c=a-b;break;case'*':
c=a*b;break;case'/':
c=a/b;break;
}
m=Double.toString(c);//Double转换为字符串
tf.setText("="+m);//输出结果
}
}
}
六、运行与调试
1运行结果:
2错误调试:
1)直接将按钮等部件添加到Frame上,每次运行结果不唯一;
2)未定义窗口关闭事件,不能实现窗口的关闭功能;
3)将按钮的布局模式定义为BorderLaout,不能实现按钮的对齐问题;
4)将运算数字a、b、c定义成Float型,不能实现sqrt()开方运算;
5)将标志符sign定义成String字符串型,不能实现switch语句。
七、总结
我们用了一周的时间来做这个课程设计,在做课程设计的时候我遇到了很多的问题,有许多是我不会的,这些并非是我在学习上大的疏忽,而是一些小的细节,如:
字母的大小写,单词字母的漏记现象,语句的书写格式等等,这些虽然表面上看上去都是小问题,但他们严重影响了我的编程速度和质量,甚至导致我的编程无法继续,这深刻的让我认识到学习认真的重要性和实践发现问题的有效性。
于是我又一遍遍翻阅了课本,加强了学习,我才真正的把自己的程序给调试成功,过程真的很不容易,看到同学们都再为自己的课程设计而努力,我真的很欣慰。
在做课程设计的时候我发现了自己许多的学习和思想上的不足,在今后的学习中我应该注重细节,并不断的在实践中发现不足,并不断的去改变提高。
同时,要虚心的想别人请教,树立正确的心态不因为自己的不会而自暴自弃、不屑和别人交流,我们应该在交流中学习,在学习中提高。
八、参考文献
Java语言程序设计(第2版)郑丽主编清华大学出版社
课程设计评语
课程设计成绩
指导教师
(签字)
年月日