Java语言课程设计任务书

合集下载

java课程设计教科书

java课程设计教科书

java课程设计教科书一、教学目标本章节的教学目标是使学生掌握Java编程语言的基本语法、流程控制、数据结构、面向对象编程等知识,培养学生编写简单Java程序的能力,并引导学生运用Java语言解决实际问题。

具体来说,知识目标包括:1.理解Java编程语言的基本语法和结构。

2.掌握Java中的流程控制语句,如if、for、while等。

3.了解Java中的数据结构,如数组、链表、栈和队列等。

4.理解面向对象编程的基本概念,如类、对象、封装、继承和多态等。

技能目标包括:1.能够使用Java编程语言编写简单的程序。

2.能够运用Java语言进行基本的算法设计。

3.能够运用Java语言解决实际问题,如编写小游戏、简单的管理系统等。

情感态度价值观目标包括:1.培养学生的编程兴趣,激发学生学习Java编程语言的积极性。

2.培养学生独立思考、解决问题的能力。

3.培养学生团队协作、互相学习的良好习惯。

二、教学内容根据教学目标,本章节的教学内容主要包括以下几个部分:1.Java编程语言的基本语法和结构。

2.Java中的流程控制语句,如if、for、while等。

3.Java中的数据结构,如数组、链表、栈和队列等。

4.面向对象编程的基本概念,如类、对象、封装、继承和多态等。

5.Java编程实践,如编写小游戏、简单的管理系统等。

6.第1-2课时:Java编程语言的基本语法和结构。

7.第3-4课时:Java中的流程控制语句。

8.第5-6课时:Java中的数据结构。

9.第7-8课时:面向对象编程的基本概念。

10.第9-10课时:Java编程实践。

三、教学方法为了达到本章节的教学目标,将采用以下教学方法:1.讲授法:讲解Java编程语言的基本语法、流程控制、数据结构和面向对象编程等知识。

2.案例分析法:分析实际编程案例,让学生更好地理解Java编程语言的应用。

3.实验法:安排课堂实验,让学生动手实践,巩固所学知识。

4.讨论法:学生进行小组讨论,培养学生的团队协作能力和独立思考能力。

Java语言课程设计任务书及题目

Java语言课程设计任务书及题目

Java语言课程设计任务书及题目一、Java语言课程设计目的和要求1.目的:1)复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;2)课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。

提高学生适应实际,实践编程的能力;3)培养学生在项目开发中团队合作精神、创新意识及能力。

2.要求:1、对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理;2、系统设计要实用,编程简练,可用,功能全面3、说明书、流程图要清楚4、记录设计情况(备查,也为编写设计说明书作好准备);5、要求采用模块化程序设计方法,及锯齿型书写格式,要求上机调试通过和按设计报告格式。

6、设计上交内容:设计报告一份(按格式书写);源程序文件。

7、每人上传上述内容的压缩包,文件名形如“2008813018张三.rar”(学号加姓名组成)。

统一交给学习委员。

二、Java语言课程设计选题如下:1. 算术运算测试(2人)功能要求:该程序用字符界面实现十道100以内加减法数学题,能根据题目计算出答案,与输入答案对比,判断做题是否正确,最后计算分数。

界面要求:用字符界面实现、也可用图形界面实现。

2. 猜数游戏(2人)功能要求:计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出所用时间和评语。

界面要示:用字符界面实现、也可用图形界面实现。

3. 学生成绩管理(3人)功能要求:1)输入十个同学的学号,姓名,四科成绩(应用数学、大学英语、Java程序设计、计算机应用基础)2)计算出平均成绩。

以平均成绩降序输出成绩表。

3)输出全组各科平均分,最高分和最低分。

4)输入姓名查询成绩界面要示:用字符界面实现、也可用图形界面实现。

5)能连接数据库并实现查询、增、删、改等功能(此项功能作为可选项,可以不要)。

Java语言程序设计课程设计任务书及选题

Java语言程序设计课程设计任务书及选题

《Java语言程序设计课程设计》任务书及题目一、J ava语言课程设计目的和要求1.课程目的1)总结、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握。

2)通过课程设计为学生提供了一个既动手又动脑,独立实践的机会,可以将课本上的理论知识和现实问题有机地结合起来,锻炼学生的分析、解决实际问题的能力。

3)培养学生在项目开发中团队合作精神、创新意识及综合能力。

2.课程要求1、对系统进行功能模块分析、模块分析要准确,符合课题要求,实现相应功能;可以另外加上其他功能或修饰,使程序更加美观、完善、合理。

2、系统设计要实用,编程要简练,功能要尽量全面,尽量具有实用功能。

3、要求采用面向对象程序设计方法,程序采用阶梯缩进书写格式,要求上机调试通过。

5、按要求撰写《Java语言程序设计课程设计》总结报告(模板另附),并及时上交。

二、Java语言课程设计课题课题一:学生成绩管理系统1.1 功能要求:1.1.1 创建数据库菜单1、用创建数据库菜单的创建库结构菜单项创建Access数据库的Student表单,其库结构为:学生编号(字符型10字符,其中年份(4字符)院系(2字符),编号(4字符))姓名(字符型15字符)出生日期(字符型10位,例如1999-02-15)数学(整型)英语(整型)2、用创建数据库菜单的录入记录菜单项录入5~6名学生的信息的Access数据库的Student表单中。

1.1.2 一般查询菜单1、用一般查询菜单的顺序查询菜单项执行对Student表单的顺序查询操作。

2、用一般查询菜单的条件查询菜单项执行对Student表单的条件查询操作。

1.1.3 高级查询菜单1、用高级程序菜单的排序查询菜单项执行对Student表单的排序查询操作。

2、用高级程序菜单的模糊查询菜单项执行对Student表单的模糊查询操作。

3、用高级程序菜单的随机查询菜单项执行对Student表单的随机查询操作。

1.1.4 记录操作菜单1、用记录操作菜单的修改记录菜单项执行对Student表单的修改记录操作。

《Java语言程序设计》专业实习任务书(一)

《Java语言程序设计》专业实习任务书(一)

《Java语言程序设计》专业实习任务(一)一、设计目的:本次设计是对教材前7章的总结。

在学习Java基本语法的基础上,利用面向对象的程序设计方法解决一些简单的问题。

设计的目的在于掌握Java的基本原理、设计方法和使用规则;能够运用面向对象方法分析问题,并利用所学知识合理地进行设计;熟练掌握Application的编写和运行过程;并能够进行简单的GUI设计。

二、设计题目:㈠程序改错。

根据题目要求调试下面的程序,分析错误原因并改正,直到运行正确,写出运行结果。

⒈输出40以内的素数,每行输出6个数。

public class Prime_1_1{public static void main(String[] args){final int MAX=40;int i,j,num;System.out.print(2+"\t");counter++;for(num=3;num<=MAX;num=num+2);{int k=3;while(num%k!=0&&k<num) k=k+2;if(k==num){ System.out.print(num+"\t");counter++;if(counter%6==0) System.out.println();}}}}⒉给对象u初始化(姓名:liqiang 性别:m),并显示该对象的数据成员值。

public class Hide_1_2{String name;char gender;public Hide_1_2(String name,char ch){name=name;gender=ch;}public showInfor(){System.out.println("Name: "+name);System.out.println("Gender: "+gender);}public static void main(String[] args){Hide_1_2 u= new Hide_1_2("liqiang",'m');u.showInfor();}}⒊调用Link类的方法完成两个字符串的连接和输出。

Java语言课程设计任务书及题目

Java语言课程设计任务书及题目

Java语言课程设计任务书及题目总体要求:一.选题指导:1.在大作业的基础上进行完善改进。

与老师确认题目。

2.对生活、学习中可能出现的一些情况与问题,尝试使用信息化技术改进,提出解决方案并设计、完成。

也可选择一个感兴趣的题目,如游戏等。

要求:一定要和java相关。

开始课程设计前和老师确认题目与内容。

该类题目如果选择得当,可以适当加分。

与老师确认题目。

3.可以选择手机应用开发,与老师确认题目。

4.下面的指定题目。

二.完成形式:自由分组完成(最多不超过4人一组),也可个人完成。

分组完成推荐使用SVN,如果有使用该技术可额外加分。

三.课程设计具体要求1.必须要有图形、手机或Web界面,存储必须使用数据库或文件。

2.单机版程序要打包成jar文件或者.exe进行发布,只能用Eclipse演示,不予评分。

Web程序必须脱离Eclipse之类的IDE单独运行,不得在IDE中运行。

3.设计要体现面向对象思想。

4.禁止使用中文变量名!四. 所需提交材料1.演示PPT(文字尽量少、图尽量多、不要超过10页,能以最简明扼要的方式突出系统的亮点,功能截图演示部分一定要出现该功能模块的负责人,PPT结构:封面、功能简介(以模块图呈现)、设计简介(以设计图呈现)、各功能模块演示)-每组1份、电子版用于演示,不用上交。

2.J ava语言课程设计考核表格-每组1份、打印版,需上交。

3.课程设计报告(仿照模板)-每人1份、打印版,需上交,不上交无法评分。

五.课程设计流程及评分标准1.不同题目得分系数不同,分为ABCD四大类,请谨慎选择。

原则上,得分系数越高的题目,评分越高。

但涉嫌大部分抄袭,明显不是自己做的,不能参与考核。

2.流程:选题(自选与大作业改进类型的题目需与老师确认),学习委员收集分组名单(确定组长)提交给老师,组长组织设计并确定分工,做课程设计,提交“课程设计考核表”,演示PPT,同时进行程序演示,每个功能模块要由负责该模块的同学进行讲解并评分。

java语言课课程设计书

java语言课课程设计书

java语言课课程设计书一、教学目标本课程的教学目标是让学生掌握Java语言的基础知识,包括数据类型、变量、运算符、控制结构、数组、字符串等;学会使用Java编写简单的程序,如计算器、排序算法等;了解面向对象编程的基本概念,如类、对象、继承、封装、多态等;掌握Java语言的常用API,能够独立查找和使用相关资料解决实际问题。

通过本课程的学习,学生应能够:1.描述Java语言的基本语法和特性;2.编写Java程序,实现基本的数据处理和算法;3.使用Java语言进行面向对象的编程;4.运用Java语言解决实际问题,如开发小型应用程序等;5.具备独立学习和解决问题的能力,能够查找和使用相关资料。

二、教学内容本课程的教学内容主要包括以下几个部分:1.Java语言概述:介绍Java语言的起源、特点和应用领域;2.基本语法:讲解Java语言的基本数据类型、变量、运算符、控制结构等;3.面向对象编程:介绍类、对象、继承、封装、多态等概念,并讲解如何使用Java实现面向对象的编程;4.常用API:学习Java语言常用的类库和方法,如String、ArrayList、HashMap等;5.程序设计:通过实例讲解如何使用Java编写实用的程序,如计算器、排序算法等;6.异常处理:介绍异常的概念和处理机制,讲解如何使用Java进行异常处理;7.文件操作:讲解如何使用Java进行文件的读写操作;8.编程实践:安排一定的实践环节,让学生动手编写Java程序,巩固所学知识。

三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:讲解基本概念和语法,为学生提供系统的知识体系;2.案例分析法:通过分析实际案例,让学生了解Java语言的应用和编程技巧;3.实验法:安排实验环节,让学生动手编写程序,培养实际编程能力;4.讨论法:学生进行小组讨论,促进交流和合作,提高解决问题能力。

四、教学资源本课程所需教学资源包括:1.教材:《Java语言程序设计》;2.参考书:《Java核心技术》、《Head First Java》等;3.多媒体资料:教学PPT、视频教程等;4.实验设备:计算机、网络等;5.在线资源:相关、论坛、博客等,供学生查找和使用。

java课程设计任务书

java课程设计任务书

设计一日历记事本1.设计内容设计GUI界面的日历记事本。

系统将日历、记事本功能结合在一起,用户可以方便地在任何日期记录下有关内容或者查看某个日期地记录内容。

2.设计要求1.系统界面的左侧是日历。

该日历可以按年份前后翻动,鼠标单击“上年”按钮时,当前日历的年份减一;当鼠标左键单击“下年”按钮,当前日历的年份加一。

2.该日历也可以在某年内按月份前后翻动。

鼠标左键单击“上月”按钮时,当前日历的月份减一;当鼠标左键单击“下月”按钮,当前日历的月份加一。

1.使用鼠标左键单击选定的日期,如已有记录内容,系统将弹出对话框提示该日已有记录内容,并询问用户是否用记事本显示该内容。

2.用户选择具体日期后,可以将记事本的当前内容保存起来,形成日志。

3.总体设计件。

类之间的主要关系如图所示。

CalendarPad.java该java文件生成的类负责创建本日历记事本程序主窗口。

该类含有main方法,程序从该类开始执行。

Year.java该文件负责创建管理年份的对象。

Month.java该文件负责创建管理月份的对象。

NotePad.java该文件负责创建记事本。

4.具体设计4.1主类CalendarPad1.成员变量(见下表)主要成员变量(属性)成员变量描述变量类型名称年、月、日int year, month, day 保存日志的散列表Hashtable hashtable存放散列表的文件File file显示日期JTextField[] showDay日历对象Calendar 日历记事本对象NotePad notepad月Month 负责改变年年Year 负责改变月2.方法(见下表)主要方法名称功能备注CalendarPad 创建程序主窗口构造方法设置日历牌设置日历的年份、月份排列号码排列月份中的号码mousePressed 处理MouseEvent事件接口方法main 程序开始运行3.代码CalendarPad.javaimport java.util.Calendar;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.io.*;import java.util.Hashtable;public class CalendarPad extends JFrame implements MouseListener{int year,month,day;Hashtable hashtable; //用来保存日志的散列表File file; //保存散列表的文件JTextField showDay[]; //显示日期的文本条数组JLabel title[]; //日历牌的星期标题Calendar 日历;int 星期几;NotePad notepad=null; //记事本对象Month 负责改变月;Year 负责改变年;String 星期[]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};JPanel leftPanel,rightPanel;public CalendarPad(int year,int month,int day){leftPanel=new JPanel();JPanel leftCenter=new JPanel();JPanel leftNorth=new JPanel();leftCenter.setLayout(new GridLayout(7,7)); //第一行显示星期标题的标签//后续6行显示日期的标签rightPanel=new JPanel();this.year=year;this.month=month;this.day=day;负责改变年=new Year(this);负责改变年.setYear(year);负责改变月=new Month(this);负责改变月.setMonth(month);title=new JLabel[7]; //负责显示星期标题的标签showDay=new JTextField[42]; //负责显示日期的标签for(int j=0;j<7;j++) //设置日历牌的第一行:星期标题{title[j]=new JLabel();title[j].setText(星期[j]);title[j].setBorder(BorderFactory.createRaisedBevelBorder());leftCenter.add(title[j]);}title[0].setForeground(Color.red);title[6].setForeground(Color.blue);for(int i=0;i<42;i++) //设置日历牌的日期标签{showDay[i]=new JTextField();showDay[i].addMouseListener(this);showDay[i].setEditable(false);leftCenter.add(showDay[i]);}日历=Calendar.getInstance();Box box=Box.createHorizontalBox(); //在日历牌最上方创建一个水平Box容//器,从左向右显示年份、月份box.add(负责改变年);box.add(负责改变月);leftNorth.add(box);leftPanel.setLayout(new BorderLayout());leftPanel.add(leftNorth,BorderLayout.NORTH);leftPanel.add(leftCenter,BorderLayout.CENTER);leftPanel.add(new Label("请在年份输入框输入所查年份(负数表示公元前),并回车确定"),BorderLayout.SOUTH) ;leftPanel.validate();Container con=getContentPane();JSplitPane split=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,leftPanel,rightPanel); con.add(split,BorderLayout.CENTER);con.validate();hashtable=new Hashtable();file=new File("日历记事本.txt");if(!file.exists()){try{FileOutputStream out=new FileOutputStream(file);ObjectOutputStream objectOut=new ObjectOutputStream(out);objectOut.writeObject(hashtable);objectOut.close();out.close();}catch(IOException e){}}notepad=new NotePad(this); //创建记事本对象rightPanel.add(notepad);设置日历牌(year,month);addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){System.exit(0);}});setVisible(true);setBounds(100,50,524,285);validate();}public void 设置日历牌(int year,int month){日历.set(year,month-1,1);星期几=日历.get(Calendar.DAY_OF_WEEK)-1;if(month==1||month==2||month==3||month==5||month==7 //从当月1日开始依次||month==8||month==10||month==12) //排列日期{排列号码(星期几,31);}else if(month==4||month==6||month==9||month==11){排列号码(星期几,30);}else if(month==2){if((year%4==0&&year%100!=0)||(year%400==0)) //如果当年是闰年{排列号码(星期几,29);}else{排列号码(星期几,28);}}}public void 排列号码(int 星期几,int 月天数){for(int i=星期几,n=1;i<星期几+月天数;i++){showDay[i].setText(""+n);if(n==day){showDay[i].setForeground(Color.green); //将当前日期设成特殊颜色showDay[i].setFont(new Font("TimesRoman",Font.BOLD,20));}else{showDay[i].setFont(new Font("TimesRoman",Font.BOLD,12));showDay[i].setForeground(Color.black);}if(i%7==6){showDay[i].setForeground(Color.blue); //星期六显示为特殊颜色}if(i%7==0){showDay[i].setForeground(Color.red); //星期日显示为特殊颜色}n++;}for(int i=0;i<星期几;i++){showDay[i].setText("");}for(int i=星期几+月天数;i<42;i++){showDay[i].setText("");}}public int getYear(){return year;}public void setYear(int y){year=y;notepad.setYear(year);}public int getMonth(){return month;}public void setMonth(int m){month=m;notepad.setMonth(month);}public int getDay(){return day;}public void setDay(int d){day=d;notepad.setDay(day);}public Hashtable getHashtable(){return hashtable;}public File getFile(){return file;}public void mousePressed(MouseEvent e) //如果鼠标单击某个日期{JTextField source=(JTextField)e.getSource();try{day=Integer.parseInt(source.getText());notepad.setDay(day);notepad.设置信息条(year,month,day);notepad.设置文本区(null);notepad.获取日志内容(year,month,day);}catch(Exception ee){}}public void mouseClicked(MouseEvent e){}public void mouseReleased(MouseEvent e){}public void mouseEntered(MouseEvent e){}public void mouseExited(MouseEvent e){}public static void main(String args[]){Calendar calendar=Calendar.getInstance(); //获取当前机器时间int y=calendar.get(Calendar.YEAR); //获取当前机器时间的年份int m=calendar.get(Calendar.MONTH)+1; //获取当前机器时间的月份int d=calendar.get(Calendar.DAY_OF_MONTH);new CalendarPad(y,m,d); //显示当月的日历牌}}4.2记事本NotePad1.成员变量(见下表)主要成员变量(属性)描述变量类型名称文本输入区JtextArea text保存、删除日志的按钮Button 保存日志,删除日志保存日志的散列表Hashtable table保存散列表的文件File file记录日志的年、月、日int year, month, day 2.方法(见下表)主要方法名称功能备注NotePad 创建记事本对象构造方法setYear 设置年份getYear 获取年份setMonth 设置月份getMonth 获取月份setDay 设置日期getDay 获取日期获取日志内容获取日志内容保存日志保存日志删除日志删除日志actionPerformed 处理ActionEvent事件接口方法3.代码NotePad.javaimport java.awt.*;import java.awt.event.*;import java.util.*;import javax.swing.*;import javax.swing.event.*;import java.io.*;public class NotePad extends JPanel implements ActionListener{JTextArea text; //记事本的文字输入区JButton 保存日志,删除日志;Hashtable table; //用来保存日志的散列表JLabel 信息条; //显示日志日期的信息条int year,month,day; //日志记录的日期File file; //保存散列表的文件CalendarPad calendar;public NotePad(CalendarPad calendar)this.calendar=calendar;year=calendar.getYear();month=calendar.getMonth();day=calendar.getDay();;table=calendar.getHashtable();file=calendar.getFile();信息条=new JLabel(""+year+"年"+month+"月"+day+"日",JLabel.CENTER);信息条.setFont(new Font("TimesRoman",Font.BOLD,16));信息条.setForeground(Color.blue);text=new JTextArea(10,10);保存日志=new JButton("保存日志") ;删除日志=new JButton("删除日志") ;保存日志.addActionListener(this);删除日志.addActionListener(this);setLayout(new BorderLayout());JPanel pSouth=new JPanel();add(信息条,BorderLayout.NORTH);pSouth.add(保存日志);pSouth.add(删除日志);add(pSouth,BorderLayout.SOUTH);add(new JScrollPane(text),BorderLayout.CENTER);}public void actionPerformed(ActionEvent e){if(e.getSource()==保存日志){保存日志(year,month,day);}else if(e.getSource()==删除日志){删除日志(year,month,day);}}public void setYear(int year){this.year=year;}public int getYear(){return year;}public void setMonth(int month){this.month=month;}public int getMonth(){return month;public void setDay(int day){this.day=day;}public int getDay(){return day;}public void 设置信息条(int year,int month,int day){信息条.setText(""+year+"年"+month+"月"+day+"日");}public void 设置文本区(String s){text.setText(s);}public void 获取日志内容(int year,int month,int day){String key=""+year+""+month+""+day;try{FileInputStream inOne=new FileInputStream(file);ObjectInputStream inTwo=new ObjectInputStream(inOne);table=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();}catch(Exception ee){}if(table.containsKey(key)) //如果散列表中包含选中的日期项,则弹出询问对话框{String m=""+year+"年"+month+"月"+day+"这一天有日志记载,想看吗?";int ok=JOptionPane.showConfirmDialog(this,m,"询问",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);if(ok==JOptionPane.YES_OPTION){text.setText((String)table.get(key));}else{text.setText("");}}else{text.setText("无记录");}}public void 保存日志(int year,int month,int day){String 日志内容=text.getText();String key=""+year+""+month+""+day;String m=""+year+"年"+month+"月"+day+"保存日志吗?";int ok=JOptionPane.showConfirmDialog(this,m,"询问",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);if(ok==JOptionPane.YES_OPTION){try{FileInputStream inOne=new FileInputStream(file);ObjectInputStream inTwo=new ObjectInputStream(inOne);table=(Hashtable)inTwo.readObject();//首先到文件中去读取Hashtable对象inOne.close();inTwo.close();table.put(key,日志内容); //将该日志内容添加到散列表对象FileOutputStream out=new FileOutputStream(file);ObjectOutputStream objectOut=new ObjectOutputStream(out);objectOut.writeObject(table);objectOut.close();out.close();}catch(Exception ee){}}}public void 删除日志(int year,int month,int day){String key=""+year+""+month+""+day;if(table.containsKey(key)){ //弹出询问对话框String m="删除"+year+"年"+month+"月"+day+"日的日志吗?";int ok=JOptionPane.showConfirmDialog(this,m,"询问",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);if(ok==JOptionPane.YES_OPTION){try{FileInputStream inOne=new FileInputStream(file);ObjectInputStream inTwo=new ObjectInputStream(inOne);table=(Hashtable)inTwo.readObject();//首先到文件中读取Hashtable对象inOne.close();inTwo.close();table.remove(key); //删除日志FileOutputStream out=new FileOutputStream(file);ObjectOutputStream objectOut=new ObjectOutputStream(out);objectOut.writeObject(table);objectOut.close();out.close();text.setText(null);}catch(Exception ee){}}}else{//弹出提示对话框String m=""+year+"年"+month+"月"+day+"无日志记录";JOptionPane.showMessageDialog(this,m,"提示",JOptionPane.W ARNING_MESSAGE);}}}4.3年Year1.成员变量(见下表)主要成员变量(属性)描述变量类型名称表示年份的整数(负数表示公元前)int year显示年份的文本条JTextField showYear负责增减年份的按钮JButton 明年,去年2.方法(见下表)主要方法名称功能备注Year 创建“年”对象构造方法setYear 设置年份getYear 获取年份actionPerformed 处理ActionEvent事件接口方法3.代码Year.javaimport javax.swing.*;import java.awt.*;import java.awt.event.*;public class Year extends Box implements ActionListener{int year; //表述年份的整数(负数表述公元前)JTextField showYear=null; //显示年份的文本条JButton 明年,去年;CalendarPad 日历;public Year(CalendarPad 日历){super(BoxLayout.X_AXIS); //一个水平发布组件的Box容器showYear=new JTextField(4);showYear.setForeground(Color.blue);showYear.setFont(new Font("TimesRomn",Font.BOLD,14));this.日历=日历;year=日历.getYear();明年=new JButton("下年");去年=new JButton("上年");add(去年);add(showYear);add(明年);showYear.addActionListener(this);去年.addActionListener(this);明年.addActionListener(this);}public void setYear(int year){this.year=year;showYear.setText(""+year);}public int getYear(){return year;}public void actionPerformed(ActionEvent e){if(e.getSource()==去年){year=year-1;showYear.setText(""+year);日历.setYear(year);日历.设置日历牌(year,日历.getMonth());}else if(e.getSource()==明年){year=year+1;showYear.setText(""+year);日历.setYear(year);日历.设置日历牌(year,日历.getMonth());}else if(e.getSource()==showYear){try{year=Integer.parseInt(showYear.getText());showYear.setText(""+year);日历.setYear(year);日历.设置日历牌(year,日历.getMonth());}catch(NumberFormatException ee) //如果输入的年份不是整数,则恢复为此前{ //显示的年份showYear.setText(""+year);日历.setYear(year);日历.设置日历牌(year,日历.getMonth());}}}}4.4月Month1.成员变量(见下表)主要成员变量(属性)描述变量类型名称表示月份的整数(负数表示公元前)int month显示月份的文本条JTextField showMonth负责增减月份的按钮JButton 上月,下月2.方法(见下表)主要方法名称功能备注Month 创建“月”对象构造方法setMonth 设置月份getMonth 获取月份actionPerformed 处理ActionEvent事件接口方法3.代码Month.javaimport javax.swing.*;import java.awt.*;import java.awt.event.*;public class Month extends Box implements ActionListener{int month; //表示月份的整数JTextField showMonth=null; //显示月份的文本条JButton 下月,上月;CalendarPad 日历;public Month(CalendarPad 日历){super(BoxLayout.X_AXIS); //一个水平分布组件的Box容器this.日历=日历;showMonth=new JTextField(2);month=日历.getMonth();showMonth.setEditable(false);showMonth.setForeground(Color.blue);showMonth.setFont(new Font("TimesRomn",Font.BOLD,16));下月=new JButton("下月");上月=new JButton("上月");add(上月);add(showMonth);add(下月);上月.addActionListener(this);下月.addActionListener(this);showMonth.setText(""+month);}public void setMonth(int month){if(month<=12&&month>=1){this.month=month;}else{this.month=1;}showMonth.setText(""+month);}public int getMonth(){return month;}public void actionPerformed(ActionEvent e){if(e.getSource()==上月){if(month>=2){month=month-1;日历.setMonth(month);日历.设置日历牌(日历.getYear(),month);}else if(month==1){month=12;日历.setMonth(month);日历.设置日历牌(日历.getYear(),month);}showMonth.setText(""+month);}else if(e.getSource()==下月){if(month<12){month=month+1;日历.setMonth(month);日历.设置日历牌(日历.getYear(),month);}else if(month==12){month=1;日历.setMonth(month);日历.设置日历牌(日历.getYear(),month);}showMonth.setText(""+month);}}}4.5运行效果5.课程设计作业在认真学习本章代码的基础上,进一步研究java.util,java.awt,java.awt.event,java.io,javax.swing等类包,改进本程序中的记事本模块,增加复制,粘贴,打印,查找等功能。

java课程设计任务书

java课程设计任务书

java 课程设计任务书一、课程目标知识目标:1. 掌握Java基本语法和编程结构,理解面向对象编程的基本概念;2. 学习使用Java进行简单程序设计,包括变量声明、数据类型、运算符、流程控制语句等;3. 了解Java异常处理机制,掌握基本的异常处理方法;4. 理解类的定义和对象创建,掌握封装、继承和多态等面向对象的基本特性。

技能目标:1. 能够独立编写简单的Java程序,具备基本的编程能力;2. 能够运用所学知识解决实际问题,进行基础算法的实现;3. 学会使用调试工具进行程序调试,提高解决问题的能力;4. 培养良好的编程习惯,编写结构清晰、可读性强的代码。

情感态度价值观目标:1. 培养学生对编程的兴趣,激发学习热情,树立自信心;2. 培养学生的团队协作精神,学会与他人共同解决问题;3. 培养学生严谨、踏实的学术态度,注重细节,追求卓越;4. 培养学生具备创新意识和探索精神,敢于尝试新方法,勇于克服困难。

课程性质:本课程为Java编程入门课程,旨在让学生掌握Java基本语法和编程技巧,培养面向对象的编程思维。

学生特点:学生处于初中或高中年级,具备一定的逻辑思维能力,对计算机编程感兴趣,但可能缺乏实际编程经验。

教学要求:结合学生特点,注重理论与实践相结合,通过实例教学,让学生在实践中掌握知识,提高编程能力。

同时,关注学生的情感态度,激发学习兴趣,培养良好的编程习惯。

在教学过程中,将目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容1. Java概述与开发环境搭建- 了解Java发展史、特点与应用领域- 学习Java开发环境搭建,熟悉集成开发工具2. Java基本语法- 变量声明、数据类型与运算符- 流程控制语句(条件语句、循环语句)- 数组的使用3. 面向对象基础- 类的定义、构造方法与实例化- 封装、继承与多态- 抽象类与接口4. Java常用类库与工具- String类与字符串操作- 异常处理机制- 集合框架简介5. 简单的Java程序设计- 编写控制台输入输出程序- 实现基础算法(排序、查找等)- 文件读写操作6. 综合案例分析与实践- 案例分析:经典算法实现、小型项目开发- 实践项目:学生信息管理系统、简易计算器等教学内容安排与进度:第1周:Java概述与开发环境搭建第2-3周:Java基本语法第4-5周:面向对象基础第6周:Java常用类库与工具第7周:简单的Java程序设计第8周:综合案例分析与实践教材章节关联:《Java编程思想》第1-3章:Java概述、基本语法、流程控制《Java编程思想》第4-7章:面向对象基础、封装、继承与多态《Java核心技术》第1部分:Java基本语法、面向对象、异常处理等《Java核心技术》第2部分:Java常用类库、文件读写、集合框架等三、教学方法1. 讲授法:- 对于Java基本语法、面向对象基础等理论性较强的内容,采用讲授法进行教学,由教师系统地讲解知识点,帮助学生构建知识体系。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

广东工业大学课程设计任务书
题目名称图书馆管理系统的设计与实现
学生学院应用数学学院
专业班级信息与计算科学10 级各班
姓名
学号
一、课程设计的内容
自学Swing图形界面设计和数据库程序设计。

开发用于某学校的图书馆管理系统。

该系统要求实现面向管理员的图书管理功能和面向读者的图书及个人信息查询。

具体包括以下功能模块:借阅管理、图书管理、借阅证管理、图书查询和读者信息查询。

二、课程设计的要求与数据
以上是基本要求,可根据实际情况增加功能模块。

所写报告要表达清楚,让老师明白你做了哪些工作,掌握了哪些知识。

你所做的课程设计有何特点和优点。

可分组完成课程设计,任何一组不得超过4位同学。

所写报告不要与其他同学雷同(同组同学程序代码可以相同,但报告要有所不同)。

三、课程设计应完成的工作
完成图书馆管理系统的软件编程。

并按照要求写出课程设计报告
四、课程设计进程安排
五、应收集的资料及主要参考文献
[1] 耿祥义,张跃平. Java大学实用教程(第2版)[M]. 电子工业出版社.
[2] 皮德常. Java简明教程(第3版)[M]. 清华大学出版社.
发出任务书日期:年月日指导教师签名:
计划完成日期:年月日基层教学单位责任人签章:
主管院长签章:。

相关文档
最新文档