欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    Java 语言课程设计报告.docx

    • 资源ID:16699383       资源大小:222.67KB        全文页数:67页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Java 语言课程设计报告.docx

    1、Java 语言课程设计报告 Java 语言课程设计报告专 业: 计算机 班 级: 061 学 号: 22 * 指导老师: 兰 红 时 间: 2008.4.20-2008.5.5 题目一: 计算器一 设计内容设计一个GUI简易计算器,用户可以通过鼠标一次输入参加计算的数值,进行加减乘除等混合运算。二 设计要求要求所设计GUI界面计算器是一个使用方便的程序,能实现基本的加减乘除功能,以及sin,cos,tan,log等算术运算;同时实现退格、清零等运算。三设计思想3.1 利用JAVA GUI的基本思想设计整个程序。(1) 利用布局管理器设计计算器整体布局,整个系统采用_ BorderLayout布

    2、局,其中使用 _1_个面板,各面板分别放置 numberButton,operationButton,小数点按钮,正负号按钮,退格按钮,求倒数按钮,等号按钮,清空按钮,sin,cos,tan,log._。(2)利用按钮设计计算器的各个运算符和操作符,通过按钮的事件处理实现按钮计算功能。(3)利用文本框显示操作数和运算结果。3.2 利用链表实现每一次运算的操作数和操作运算符存储。链表的作用主要是用来存储操作数字和操作运算符的。运用数据结构的一些思想,把链表的存储等方法运用到该程序中。编写计算器这个程序要用链表来存储选中的数字,从而达到计算的功能。当输入一个数字时,链表接受使之成为第一个节点,若再

    3、输入一个数字,则将它与第一个节点中的数字相连,组成一个数字放在第一个节点中,若开始链表中没有节点,当输入一个运算符时,链表将不会将它存储,若前已有一个数字节点,则将运算符接受存储在第二个节点中,当在输入一运算符,则当前的代替原先的运算符,存储在第二个节点中 ,依次类推。3.3.将所有类打包成jar文件发布 首先,用文本编辑器编写一个清单文件(Manifestfiles):Manifest-Version: 1.0Main-Class: ComputerPadCreated-By: 1.4(Sun Microsystems Inc.)例如:清单文件命名为moon.mf.保存到G:chap2。然后

    4、,如下生成JAR文件:G:chap2jar cfm Jisuanqi.jar moon.mf ComputerPad.class这样就实现了将所有类打包成jar文件发布。四总体设计实现4.1 类之间的关系图4.2 运行界面的布局图 (resultshow) 1 2 3 + C sin 4 5 6 _退格 cos 7 8 9 *1/x tan 0 +/- . /= log图1-1 计算器布局图 4.3 运行效果图 图1-2 计算器运行界面五详细设计说明5.1 链表LinkedList的作用链表主要是实现元素的动态分配,而且插入,删除等操作非常方便,不需要移动大量元素,但也失去了顺序表随机访问的优

    5、点. LinkedList实现链表结构,用变量getfirst,getlast来实现表头和表尾。存储当前结点的指针时有一定的技巧。类List还定义了一些方法来实现对链表的基本操作,通过运用这些基点,并使其成为本操作我们可以对链表进行各种操作。例如reset()方法使第一个结点成为当前结点。insert( Object d )方法在当前结点前插入一个结当前结点。remove()方法删除当前结点同时返回其内容,并使其后继结点成为当前结点,如果删除的是最后一个结点,则第一个结点变为当前结点。 5.2 各类实现的功能(1)ComputerPad该java文件生成的类负责创建计算器的“主窗口”。该类含有

    6、main方法,整个程序从该类开始执行 (2) NumberButton 该文件生成的类负责为主类创建数字按钮对象,使用鼠标单击数字按钮可依次输入参加运算的数值的各位数字。 (3)OperationButton 该文件生成的类负责为主类创建运算符按钮对象,使用鼠标单击运算符号按钮可选择所需要的运算。5.3 程序打包发布过程首先,用文本编辑器编写一个清单文件(Manifestfiles):Manifest-Version: 1.0Main-Class: ComputerPadCreated-By: 1.4(Sun Microsystems Inc.)例如:清单文件命名为moon.mf.保存到G:c

    7、hap2。然后,如下生成JAR文件:G:chap2jar cfm Jisuanqi.jar moon.mf ComputerPad.class这样就实现了将所有类打包成jar文件发布。然后用鼠标双击文件运行的java应用程序六程序测试 运行出程序后在输入框输入“2”,然后点击“+”,再点击“1”,接着点击“=”, 最后输入框显示结果是3.0, 点击“C” 就能清空上面的3.0。 减乘除的方法也是如此点击。在上面输入30,点击“sin”,结果输出是0.49999999999999994,输入90,点击“sin”,结果是1.0。输入60,点击“cos”,输出0.5000000000000001。输

    8、入90,点击“cos”,输出6.123233995736766E-17,也就是0。输入90,点击“tan”,输出1.633123935319537E16,也就相当于无穷大。因为“log”运算是以自然底数e=2.718281828459045为底,所以输入2.718281828459045,点击“log”则输出1.0。点击“退格” 可以实现退格。 七. 总结与说明本实验是设计一个计算器,总布局是BorderLayout布局,按钮用了GridLayout布局,用了LinkedList存数据,让我们掌握了链表用于java中。主要任务是添加sin、cos、tan、log四个按钮并让其实现功能,首先是用

    9、Button创建对象并分配内存,然后将其添加进面板,做完后运行结果,虽然运行界面有多了四个按钮,但是功能并没实现,接着添加监视器和四个按钮的算法,最后再允许程序就能达到目的了。此实验相对来说还是比较简单的,另外自己添加了“编辑”下拉菜单的“复制”“粘贴”按钮,但是功能并没有实现。还有电脑本身自带的计算器输入数字时还可以从键盘上输入,而上面这个程序却不能。希望自己以后能逐渐将此序的功能更加完美。八附原代码(见附录一)题目二: 学生管理系统一 设计内容设计一个基于GUI界面的单机版学生管理系统,实现学生基本信息的录入、查询、修改和删除。二 设计要求要求学生信息保存在数据库中,利用JDBC-ODBC

    10、桥接器,实现系统对数据库中信息的添加、查询、修改和删除。学号为唯一不可重复项。三设计思想3.1 利用数据库实现系统的数据存储。 系统采用access 数据库,利用JDBC-ODBC桥接器实现数据库连接,分别实现学生信息的添加、查询、修改和删除。 3.2 利用JAVA GUI的基本思想设计系统布局。(1)利用布局管理器设计系统整体布局,系统主界面采用CardLayout布局,系统利用菜单项进行选择。(2) 菜单项对应的面板采用BoxLayout布局,一共设计了4个菜单项,分别对应_1_面板。3.3 利用对话框实现用户数据更改的提示。 学生信息存储到数据库之前给出提示信息,让用户确定信息的正确性。

    11、3.4 将所有类打包成jar文件发布。首先,用文本编辑器编写一个清单文件(Manifestfiles):Manifest-Version: 1.0Main-Class: StudentManagerCreated-By: 1.4(Sun Microsystems Inc.)例如:清单文件命名为moon.mf.保存到G:chap9。然后,如下生成JAR文件:G:chap9jar cfm StudentManager.jar moon.mf *.class这样就实现了将所有类打包成jar文件发布。四总体设计实现41 类之间的关系图4.2 运行界面的布局图 图2-1 录入信息布局图 图2-2 修改信

    12、息布局图 图2-3 查询信息布局图 图2-4 删除信息布局图4.3 数据库的设计和数据源的建立 (1) 在access 中建立数据库,数据库名:db1.mdb , 数据库中建立学生信息表,表名为:表一, 共包含_7_ 个字段。 (2)在ODBC中建立数据源,数据源名:yzc,用户名xxx, 密码:xxxx 4.4 运行效果图 图2-5 学生管理系统运行界面 图2-6 录入学生基本信息界面 图2-7 修改学生基本信息界面 图2-8 查询学生基本信息界面 图2-9 删除学生基本信息界面五详细设计说明5.1 数据库表的字段及属性 图2-10 创建数据库表5.2 ODBC的建立。 图2-11 数据库管

    13、理器中添加数据源 图2-12 创建数据源名并选择路径5.3 数据库的连接和sql 语句 con=DriverManager.getConnection(jdbc:odbc:sun,gxy,ookk); sql l=con.createStatement(); sql.executeUpdate(temp);trycon=DriverManager.getConnection(jdbc:odbc:sun,gxy,ookk); sql=con.createStatement(); rs=sql.executeQuery(SELECT*FROM jisuan); 5.4 提示对话框的实现String

    14、 m=基本信息将被录入!; int ok=JOptionPane.showConfirmDialog(this,m,确认,JOptionPane.YES_NO_OPTION, String warning=必须要输入学号!; JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE);5.5 各类实现的功能(1)StudentManager 该java责创建学籍管理系统的主窗口,该类含有main序从该类开始执行。(2) StudentSituation该文件的类负责创建学籍管理系统的学生信息录入界面。(3

    15、) ModifySituation 该文件的类负责创建学籍管理系统的学生信息修改界面。 (4)Inquest 该文件的类负责创建学籍管理系统的学生信息查询界面。 (5)Delete 该文件的类负责创建学籍管理系统的学生信息删除界面。 (6)Student 负责创建存放学生信息的对象。5.6 程序打包发布过程首先,用文本编辑器编写一个清单文件(Manifestfiles):Manifest-Version: 1.0Main-Class: StudentManagerCreated-By: 1.4(Sun Microsystems Inc.)例如:清单文件命名为moon.mf.保存到G:chap9

    16、。然后,如下生成JAR文件:G:chap9jar cfm StudentManager.jar moon.mf *.class现在就将StudentManager.jar拷贝到任何一个安装了java运行环境的计算机上,只要用鼠标双击该文件即可。六 程序测试运行界面出现后,点击“录入学生基本信息”,出现一个可以输入学生学号”“姓名”“专业”“年级”“出生”的界面,一次输入信息,点击“录入”,信息就被保存了。然后可以点击“修改学生基本信息”,输入刚才输入的学号,点击“开始修改”,就可以修改了。点击“查询学生基本信息”,就会弹出一个窗口,输入要查询的学号,只要录入了的信息,就回显示出来。最后一项“删

    17、除学生基本信息”,点击后只要输入学号,点击删除,就会彻底删除信息了。七总结与说明 本实验主要是让我们了解关于程序与数据库的建立并与它连接,打开Microsoft Access创建数据库的表格,接着打开数据源管理器添加刚刚创建的数据库表格,点击确定以后,在程序中就需要添加连接数据库的语句。从中让我对数据库的连接和建立更加了解。八附原代码(见附录二)附录一、“计算器”源代码ComputerPad.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;import

    18、java.util.LinkedList;import java.text.NumberFormat;public class ComputerPad extends Frame implements ActionListener NumberButton numberButton; OperationButton oprationButton; Button 小数点按钮,正负号按钮,退格按钮, 求倒数按钮,等号按钮,清零按钮,sin,cos,tan,log; Panel panel; JTextField resultShow; String 运算符号=+,-,*,/; LinkedList

    19、 链表; boolean 是否按下等号=false; public ComputerPad() super(计算器); 链表=new LinkedList(); numberButton=new NumberButton10; for(int i=0;i=9;i+) numberButtoni=new NumberButton(i); numberButtoni.addActionListener(this); oprationButton=new OperationButton4; for(int i=0;i4;i+) oprationButtoni=new OperationButton(

    20、运算符号i); oprationButtoni.addActionListener(this); 小数点按钮=new Button(.); 正负号按钮 =new Button(+/-); 等号按钮=new Button(=); 求倒数按钮=new Button(1/x); 退格按钮=new Button(退格); 清零按钮=new Button(C); sin=new Button(sin); cos=new Button(cos); tan=new Button(tan); log=new Button(log); 清零按钮.setForeground(Color.red); 退格按钮.se

    21、tForeground(Color.red); 等号按钮.setForeground(Color.red); 求倒数按钮.setForeground(Color.blue); 正负号按钮.setForeground(Color.blue); 小数点按钮.setForeground(Color.blue); sin.setForeground(Color.blue); cos.setForeground(Color.blue); tan.setForeground(Color.blue); log.setForeground(Color.blue); 退格按钮.addActionListener

    22、(this); 清零按钮.addActionListener(this); 等号按钮.addActionListener(this); 小数点按钮.addActionListener(this); 正负号按钮.addActionListener(this); 求倒数按钮.addActionListener(this); sin.addActionListener(this); cos.addActionListener(this); tan.addActionListener(this); log.addActionListener(this); resultShow=new JTextFie

    23、ld(10); resultShow.setHorizontalAlignment(JTextField.RIGHT); resultShow.setForeground(Color.blue); resultShow.setFont(new Font(TimesRoman,Font.PLAIN,14); resultShow.setBorder(new SoftBevelBorder(BevelBorder.LOWERED); resultShow.setBackground(Color.white); resultShow.setEditable(false); panel=new Pan

    24、el(); panel.setLayout(new GridLayout(4,5); panel.add(numberButton1); panel.add(numberButton2); panel.add(numberButton3); panel.add(oprationButton0); panel.add(清零按钮); panel.add(sin); panel.add(numberButton4); panel.add(numberButton5); panel.add(numberButton6); panel.add(oprationButton1); panel.add(退格

    25、按钮); panel.add(cos); panel.add(numberButton7); panel.add(numberButton8); panel.add(numberButton9); panel.add(oprationButton2); panel.add(求倒数按钮); panel.add(tan); panel.add(numberButton0); panel.add(正负号按钮); panel.add(小数点按钮); panel.add(oprationButton3); panel.add(等号按钮); panel.add(log); add(panel,Border

    26、Layout.CENTER); add(resultShow,BorderLayout.NORTH); MenuBar menubar=new MenuBar(); Menu menu=new Menu(编辑); MenuItem item1=new MenuItem(复制(C)Ctrl+C); MenuItem item2=new MenuItem(粘贴(P)Ctrl+V); menu.add(item1); menu.add(item2); menubar.add(menu); setMenuBar(menubar); addWindowListener(new WindowAdapter

    27、() public void windowClosing(WindowEvent e) System.exit(0);); setVisible(true); setBounds(100,50,240,180); setResizable(true); validate(); public void actionPerformed(ActionEvent e) if(e.getSource() instanceof NumberButton) NumberButton b=(NumberButton)e.getSource(); if(链表.size()=0) int number=b.get

    28、Number(); 链表.add(+number); resultShow.setText(+number); 是否按下等号=false; else if(链表.size()=1&是否按下等号=false) int number=b.getNumber(); String num=(String)链表.getFirst(); String s=num.concat(+number); 链表.set(0,s); resultShow.setText(s); else if(链表.size()=1&是否按下等号=true) int number=b.getNumber(); 链表.removeFi

    29、rst(); 链表.add(+number); 是否按下等号=false; resultShow.setText(+number); else if(链表.size()=2) int number=b.getNumber(); 链表.add(+number); resultShow.setText(+number); else if(链表.size()=3) int number=b.getNumber(); String num=(String)链表.getLast(); String s=num.concat(+number); 链表.set(2,s); resultShow.setText(s); else if(e.getSource() instanceof OperationButton) OperationButton b=(OperationButton)e.getSource(); if(链表.size()=1) String fuhao=b.get运算符号(); 链表.add(fuhao); else if(链表.size()=2) String fuhao=b.get运算符号();


    注意事项

    本文(Java 语言课程设计报告.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开