ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:1.28MB ,
资源ID:9969355      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9969355.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java大作业.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java大作业.docx

1、java大作业Java语言课程设计报告专业 计算机科学与技术 班级 09级(5)班课题六 小说阅读器 报告成绩日期:2012年 4月19日一、课程设计目的 3 1.1、对java语言知识的巩固 3 1.2、提高运用java语言的能力 4二、课程设计要求 5三、设计题目分析 5 3.1、题目简介 53.2、设计要求 5四、课程设计内容 6 4.1、总体设计 6 4.2、详细设计 94.3、调试与测试 15五、设计心得与总结 18六、建议 19七、评阅意见 21一、设计的目的Java程序设计是计算机网络工程专业一门重要的专业必修课。为了进一步巩固课堂上所学到的知识,深刻把握Java技术的重要概念及

2、其面向对象的特性,锻炼学生熟练的应用面向对象的思想和设计方法解决实际问题的能力,开设Java程序设计的课程设计。通过课程设计,主要要达到两个目的,一是检验和巩固专业知识、二是提高 综合素质和能力。该课程设计主要是 Java 语言程序设计的实现。通过该课程设 计,可以将学生课堂上掌握的理论知识与处理数据的业务相结合,以检验我们掌 握知识的宽度、深度及对知识的综合运用能力。1.1对java语言知识的巩固 Java作为新一代的面向对象编程语言,具有跨平台、安全、高可靠、多线程等特点,在计箅机网络及通信应用软件开发上得到广泛的应用。巩固Java语言的基本语法、面向对象编程方法和Java高级技术。主要内

3、容包括:Java语言基础、数据类型、Java类和对象、JavaI/O流、Java图形界面以及JDBC数据库编程、Java网络编程和线程编程。 Java语言是完全面向对象的,所有设计都必须在类中实现,一个java程序就是多个类的集合;为8种基本数据类型提供相应的基本数据类型包装类,是基本数据类型与类相关联;将数组设计为引用类型,使用方法与对象相同,并且每个数组都有长度属性;不支持类似C语言的面向过程设计,不支持类似C+语言的全称变量、goto语句、宏定义、全局函数等语法规则,不支持结构、联合和指针等数据类型。Java语言通过应用模型实现了指针的功能,通过类实现了结构类型。 Java应用程序有两种

4、形式:Application和Applet。Application是能够独立运行的应用程序,有控制台图形用户界面两种运行方式。Java应用由一个或多个扩展名为“.java”的文件组成。一个java应用程序就是多个类的集合,类有关键字Class声明,类中包含成员变量和成员方法,main()方法是类首先执行的方法,语句必须写在类的方法中。例如基于控制台运行的Application应用程序如下: public class Hello public static void main(String args) System.out.println(“Hello”); Java程序所有语句都必须写在类中,

5、class是声明的关键字,Hello是类名。在main()方法中,用标准输出语句System.out.println()在屏幕上显示一个字符串“Hello!”。文件名为“Hello.java”。Applet是可以嵌入Web页面的最小应用,它不能独立运行,必须嵌入到超文本(*.html)中,游浏览器中的java解释器解释执行。Applet只是Application的特殊形式,要编写Applet,必须知道如何编写Application。如显示字符串“Hello!”的Applet应用程序如下:import java.awt.*; import java.applet.Applet; public c

6、lass HelloApplet extends Applet Public void paint(Graphics g) g.setColor(red); g.drawString(“Hello!”,20,20); 其次,在编写程序时可以加入注释部分,以说明变量的含义、语句的作用和程序段的功能,从而帮助人们理解和阅读程序。当然也可以不加。因此,一个好的程序应该有详细的注释。在添加程序注释时必须注意,注释内容一定放在“/*”和“*/”之间。而且“/*”和“*/”必须成对出现,“/*”和“*/”之间还不能有空格。注释部分只适用于阅读,对程序的运行不起任何作用,这个和在C语言中发挥的作用可以说是一

7、模一样的。1.2 提高应用java语言的能力 Java语言是一门优秀的计算机程序设计语言。是目前软件设计中最具生命力的计算机编程语言。不仅可以用来开发大型的应用程序,而且,也可以用在网络程序设计中。当前Java已成为网络时代最为重要的编程上具之一。为了适应企业的需要,提升毕业生的就业率.几乎所有的大、中专院校都竞相开设了Java语言程序设计课程。而这种市场对Java人才的需求使得学生不得不具备:沟通能力,Java软件开发的动手能力,Java软件开发的创新能力,同时还要具有社会的适应能力。加强实训在Java的学习中.我们对理论的学习已有一定的基础,对项目也有了一定的认识。以课程设计开始从而进一步

8、提高我们的实践能力,使我们在毕业时至少有相当于半年的Java软件开发的能力,更进一步适应社会和企业的需求。通过对我们Java能力的培养提出几点看法,可以提高学生对Java语言学习的认识以及增强自学性。也可以提高学生对所学知识的综合运用,适应社会和企业的需求,达到高校的培养目标。 这门课是对大二的java的一个重要的补充,与理论学习骑着相辅相成的作用。通过本程序的训练,我们增强对编程的进一步认识,进一步掌握编程思路,是我们具备了基本的程序设计与调试技能,加强了相关概念的理解更准确的掌握了java语言的特点及语法,熟练掌握了java语言的编程方法,具有运用java语言解决和处理实际问题的能力。培养

9、学生程序设计的逻辑抽象能力和编程素质,使学生养成良好的程序设计风格,培养学生的自学能力,获取计算机新知识、新技术的能力,使学生具备一定的实践能力和创新能力,为将来打下坚实的基础。上机实验之前,学生应该为每次上机内容做好充分的课前准备,对每次上级完成的内容都要进行认真的分析,选择合适的算法或者说是代码,列出具体步骤,写出符合题目要求的程序步骤。按照实验目的和实验内容以及思考题的要求进行上机操作,录入程序,编译程序,反复修改,知道使用要求的算法,使程序正常运行得出正确的输出结果为止。根据实验结果,写出实验报告。实验报告应包括:实验目的,程序清单呢,运行结果,所选取的算法及其优缺点、以及通过上机取得

10、的结果得出的哪些经验。根据各模块的知识点,划分成基础型、应用型、综合设计型到创兴提高的循序渐进的四个层次。基础型实验为应知的基础语法实验。二、课程设计的要求本课程设计是重要的实践性环节之一,是在学习完高级程序设计语言(C)课程之后进行的一次全面的综合练习。为了能够更好的掌握C语言程序,要求必须选出具体的题目,这样才能通过自己亲手编写程序,掌握编写程序的方法及要点。要求在学生能够较熟练使用java程序设计语言进行软件代码的编写,同时还要具备较好的项目分析的能力,加深对相关课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统的练习。1) 掌握Java的语言规范,

11、面向对象的核心概念和特性。2) 掌握Java的编程技术,包括异常处理,图形界面设计,多线程,网络通信程序等。3) 掌握Java应用软件的开发环境和开发过程。4) 掌握基于Jsp网站的开发环境和开发过程。5) 掌握面向对象的思想和程序设计方法。三、设计题目分析 3.1 题目简介编写小说阅读器3.2设计要求 编写界面良好、操作方便的文本书籍阅读器,应包含各种模式(分页、全屏、文章结构控制等)、有书签、有记忆、有各种阅读模式的功能。其功能包括以下几点:根据系统自带的文档编辑器的特征设计,包括如下的功能模块:一、整体结构框架包括:菜单栏和文档编辑区二、每个框架分别包含不同的子框架,各个模块的具体框架:

12、1.菜单栏:文件、字体、速度、帮助2.菜单栏中各个子菜单功能文件:新建、打开、保存、另存为、退出字体:斜体、粗体、原字体 速度: 原速、阅读速度帮助:关于制作者 3.子菜单功能的实现主要的几个功能介绍1)打开与另存为:两个窗体调用系统函数直接利用,注意格式的选择。2)速度:通过对阅读速度的选择设置自动翻页的速度。4文本显示区监视文本内容是否改变、控制每页出现的文字。 三、系统运行环境与开发工具程序设计主要分为两大部分:简单GUI设计和程序功能设计。通过GUI设计实现图形用户界面,提供图形菜单,方便用户操作。使用Java语言编写一个能够对输入文字进行操作,具有合理的界面,能够在界面中实现右键快捷

13、方式,对文档内容进行编辑操作,并且能够顺利退出的程序。通过设计和实现一个具有基本功能的文本编辑器,提高我们对Java语言设计的掌握能力,理论联系实际,进一步提高软件开发技术,从而培养我们分析、解决问题的能力。四、课程设计内容课程设计内容这部分包括了课程的总体设计和详细设计,以及程序的调试与测试。为了能更明确说明程序的内容,下面我以小节的形式一点一点给出程序内容及功能的说明。4.1总体设计一、程序设计思路在本程序中,设计了一个菜单栏和文本内容区。设计过程中用到了JScrollPane,JMenu,JTextPane,JFileChooser等。JMenu用来制作菜单,菜单包括“文件”“字体”“关

14、于”。JTextPane主要用来显示文本。为了加入颜色的设置,所以加了一个JColorChooser组件。二、模块说明图 在图中,首先创建一个名为mynotepad的类并继承JFrame类作为最底层的容器。 在图中,构造一个mynotepad类时要做三件事情,分别是初始化容器(initTextContent)、初始化组件(initMenu、initAboutDialog)、设置事件监听器。三、程序流程 False False true true true true true true true true四、程序相关说明整个阅读器分为2快:菜单栏和文字显示入区。本程序中首先定义一个mynotep

15、ad类继承JFrame作为最底层容器。 (1).Textcontent为程序文本输入区。 (2).Menu为菜单栏。 (3).AboutDialog为关于对话框。 (4).要想阅读器完成需求分析中相应的功能,还必须添加事件监听器。事件监听器不仅要添加在菜单栏和文字显示区,还需加在容器中。本程序中ActListener实现了ActionListener接口,用来监听并处理所有菜单项和内容输入区为事件源的事件。 另外,还用来WindowListener来监听处理容器关闭触发的事件,WindowListener继承了WindowsAdapter类并五、程序运行界1图为初次进入系统的功能模块图4.2详

16、细设计这部分包含了功能模块的说明和工作流程图。要想让该程序实现其所要求的程序功能,必须设计出每部分所需要的程序语句。一、构建菜单栏及其下拉菜单JLabel book_name=new JLabel(书名信息);JLabel size=new JLabel(字体大小); JLabel ziti=new JLabel(字体选择);JLabel vt=new JLabel(阅读速度);JComboBox size1=new JComboBox();JComboBox ziti1=new JComboBox();JComboBox vt1=new JComboBox();JComboBox backg

17、=new JComboBox();menubar = new JMenuBar();menu1 = new JMenu(文件);menu2 = new JMenu(字体);menu3 = new JMenu(速度);menu4 = new JMenu(帮助);menu_open=new JMenu(打开 );menuItemNew = new JMenuItem(新建(N),KeyEvent.VK_N);menuItemOpen = new JMenuItem(打开(O),KeyEvent.VK_O);menuItemSave = new JMenuItem(另存为(S),KeyEvent.V

18、K_S);menuItemExit = new JMenuItem(退出(E),KeyEvent.VK_E);menuItemItalic = new JMenuItem(斜体(I),KeyEvent.VK_I);menuItemPlain = new JMenuItem(正常(P),KeyEvent.VK_P);menuItemBold = new JMenuItem(粗体(B),KeyEvent.VK_B);menuItemsudu = new JMenuItem(阅读速度(Y),KeyEvent.VK_Y);menuItemyuansu=new JMenuItem(原速);menuIte

19、mHelp =new JMenuItem(关于);menuItem_save_sign=new JMenuItem(加入书签);menuItem_open_sign=new JMenuItem(打开书签);menuItem_delete_sign=new JMenuItem(删除书签);menuItem_open_file=new JMenuItem(打开文件);menuItem_save_as=new JMenuItem(另存为”);2图为各个菜单栏及下拉菜单的功能图 二、各菜单的监听事件1、文件menuItemNew.addActionListener(this);menuItemOpen

20、.addActionListener(this);menuItemSave.addActionListener(this);menuItemExit.addActionListener(this);menuItemItalic.addActionListener(this);if(e.getSource().equals(menuItemOpen)|e.getSource().equals(menuItem_open_file) open(); if(e.getSource().equals(menuItemSave)|e.getSource().equals(menuItem_save_as

21、) save(); if(e.getSource().equals(menuItemExit) exit(); 2、字体menuItemItalic.addActionListener(this);menuItemPlain.addActionListener(this);menuItemBold.addActionListener(this);if(e.getSource().equals(menuItemItalic) italic(); if(e.getSource().equals(menuItemPlain) plain(); if(e.getSource().equals(menu

22、ItemBold) bold(); 3、速度b_read.addActionListener(this);b_stop.addActionListener(this);b_icolo.addActionListener(this);b_bcolo.addActionListener(this);b_exit.addActionListener(this);if(e.getSource().equals(menuItemsudu)if(e.getSource().equals(menuItemyuansu) speed=15000;start(); if(e.getSource().equals

23、(b_read)start();if(e.getSource().equals(b_stop)stop();if(e.getSource().equals(b_bcolo) ziticolor();if(e.getSource().equals(b_exit)exit();三、各按钮的功能及位置JButton b_ok=new JButton(确 定);JButton b_read=new JButton(自动翻页);JButton b_stop=new JButton(停止翻页);JButton b_exit=new JButton(退 出);JButton b_icolo=new JBut

24、ton(背景颜色);JButton b_bcolo=new JButton(字体颜色);book_name.setBounds(455,0,90,30);size.setBounds(10,10,90,20);size1.setBounds(10,30,90,20);ziti.setBounds(10,50,90,20);ziti1.setBounds(10,70,90,20);vt.setBounds(10,90,90,20);vt1.setBounds(10,110,90,20);b_ok.setBounds(10,140,90,30);b_read.setBounds(870,30,10

25、0,30);b_stop.setBounds(870,80,100,30);backg.setBounds(870,170,115,30);b_bcolo.setBounds(870,220,100,30);b_exit.setBounds(870,520,100,30); 四、实现自动翻页java.util.Timer timer = new java.util.Timer(); java.util.TimerTask timertask=new TimerTask() public void run() Js.getVerticalScrollBar().setValue(position

26、); position=position+530; ; public void start() timertask.cancel(); timertask=new TimerTask() public void run() position=Js.getVerticalScrollBar().getValue()+530; Js.getVerticalScrollBar().setValue(position); ; timer.schedule(timertask,0,speed*1000); b_read.setEnabled(false); b_stop.setEnabled(true)

27、; public void stop() timertask.cancel(); b_stop.setEnabled(false); b_read.setEnabled(true); 五、异常处理在运行程序代码是有可能会产生异常情况或异常事件,为了避免这种情况,就需要在程序中用到Java异常处理机制。本程序中选用的异常处理机制是try,catch。捕获处理异常的第一步是用try选定要监控的异常范围,try后跟随catch代码块。try FileWriter Writef=new FileWriter(file); Writef.write(content.getText(); Writef.c

28、lose(); catch(Exception e)e.printStackTrace(); void unfold() try FileReader Readf=new FileReader(file); int len=(int)file.length(); char buffer=new charlen; Readf.read(buffer,0,len); Readf.close(); content.setText(new String(buffer); catch(Exception e)e.printStackTrace();4.3调试与测试1、打开小说的界面2、添加背景后的界面3

29、、改变字体颜色的界面 4、改变文本框中字体 大小及颜色的界面4.3.1、 调试过程及数据结果的分析所谓程序调试,是指对程序的查错和排错。调试程序一般经过以下几个步骤:一、.进行人工排查,即静态检查,在写好一个程序以后,不要匆匆忙忙上机,而应对纸面上的程序进行人工检查,这一不是十分重要的,它能让我们发现由于疏忽而造成的多数错误,如某条语句后忘写“;”,或“”没有成对出现。为了更有效地进行人工检查,所编程序应力求做到以下几点:1、应该采用结构化程序方法编程,以增加可读性,2、尽可能多加注释,以帮助每段程序的理解,3、在编写复杂的程序时,不要将全部语句都写在main函数中,而要更多的利用函数,用一个

30、函数来出现一个单独独的功能,这样既易于阅读也便于调试。二、在人工检查后,才可以上机调试,通过上机发现错误成为静态检查,在编译时,给出语法错误的信息,它包括哪一行错及错误类型,可以各根据提示的信息具体找出程序中出错之处并改正,应当注意的是:有时提示出错行并不是真正出错的行,如果再提示出错的行上找不到错误的话应当到上一行再找,另外,有时提示出错的类型并非绝对准确,由于出错的情况繁多而且各种错误互有关联,因此,要善于分析,找出真正的错误,而不要只从字面 意义上死抠出错误信息。如果系统提示的错误信息多,应当从上到下逐一改正。有时显示出一大片错信息往往使人感到问题严重,无从下手。其实可能只有一二个错误。例如,对所用变量未定义,编译时就会对所有含该变量的语句发出出错信息,只要加上一个定义变量,所有错误就都消除,不用再检查其他。三、在改正语法错误后,程序经过连接就得到可执行的目标程序。运行程序,输入程序所需数据,就可得到运行结果。数据结果分析:对于此程序他的数据较为简单。有时,数据比较复杂,难以立即判断结果是否正确,可以事先找出一组具有特征的数据,输入这些数据可以很容易判断正确与否的结果。运行结果不对

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1