JAVA课程大作业文档模板
《JAVA程序设计》大作业报告模板
华北科技学院计算机系课程综合作业实验报告课程名称JAVA程序设计实验学期2010 至2011 学年第 1 学期学生所在系部计算机年级08级专业班级信管B082学生姓名学号************ 任课教师实验成绩计算机系制《JAVA程序设计》课程综合作业实验报告学生的学号,可以更新这条记录中的数据;“查询记录”,输入要查询学生学号可以查询这个学生的所有信息;选择分数信息中的“各科最高低分”菜单,可以查询所有学科中的最高分和最低分;“总分平均分”显示所有学生的总分和平均分。
3.主要代码本程序使用Java中基于SWING的图形设计,用到java中的java.awt.*内的包,控件的布局用到java.swing.border.*包,事件处理用到java.awt.event.*,连接数据库用到java.sql 登录界面主要代图1public class denglu{public static void main(String args[]){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){ //11System.out.println(""+e);}new WindowBox("登录窗口"); //调用方法}}class WindowBox extends JDialog implements ActionListener{//声明Box baseBox,boxV1,boxV2,boxV3;JButton button1,button2;}}}如果出现用户名密码错误则会出现提示信息对话框图2通过调用Datawin类中的内容可以进入到主界面声明菜单中的显示、添加、删除、修改、查询、最高低分以及总分平均分菜单项和类,能过给菜单添加事件监听事件图3public void actionPerformed(ActionEvent e){if(e.getSource()==itemshow)show.setVisible(true);else if(e.getSource()==itemadd)add.setVisible(true);else if(e.getSource()==itemupdata)updata.setVisible(true);a[k][0]=rs.getString(1);a[k][1]=rs.getString(2);a[k][2]=rs.getString(3);a[k][3]=rs.getString(4);a[k][4]=rs.getString(5);a[k][5]=rs.getString(6);k++;}con.close();}catch(SQLException ee){System.out.println(ee);} //处理异常table=new JTable(a,name);getContentPane().removeAll(); //采用BorderLayout布局add(showRecord,BorderLayout.NORTH);add(new JScrollPane(table),BorderLayout.CENTER);validate();}图4构造增加类,声明组件,定义一个表名Object name[]={"学号","姓名","年龄","性别","系别","班级"};和定义一个表单Object a[][]=new Object[1][6];然后给按钮组件增加以下监听事件,通过对表单中输入数据进而增加到数据库中public void actionPerformed(ActionEvent e)//处理事件图5图6构造删除类,声明组件,在文本框中输入信息,进而可以删除数据库中相应的记录给文本框和按钮增加以下事件public void actionPerformed(ActionEvent e){if(e.getSource()==inputNumber){try{num=inputNumber.getText().trim();con=DriverManager.getConnection("jdbc:odbc:hello","","");sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM 学生信息 WHERExueid='"+num+"'");boolean boo=rs.next();if(boo==false){JOptionPane.showMessageDialog(this,"学号不存在",table.repaint();//重打印表con.close();}catch(SQLException ee){JOptionPane.showMessageDialog(this,"更新失败"+ee,"失败",JOptionPane.ERROR_MESSAGE);}}//if图7构造查询方法查询这个窗体整体彩盒式布局,首先声明类和方法设计窗体的外观,给相应的组件添加事件利用SQL语句查询数据库中的信息 rs=sql.executeQuery("SELECT * FROM 学生信息WHERE xueid='"+num+"'");如果输入学号数据库中不存在提示信息“学号不存在”,否则利用table.repaint();方法将数据库中的信息输入到窗体中的table中public void actionPerformed(ActionEvent e)//处理事件{try//连接数据原 hello{num=inputNumber.getText().trim();con=DriverManager.getConnection("jdbc:odbc:hello","","");图8构造最高最低分类首先定义两个静态变量m,n;将数据库中的信息利用查询的方法显示在数字 int b[][]中,con=DriverManager.getConnection("jdbc:odbc:hello","","");sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);//只读形式rs=sql.executeQuery("SELECT * FROM 分数信息");st();利用如下方法求得语文成绩的最高分和最低分for(k=0;k<lastNumber;k++){if(m<b[k][0]){m=b[k][0];}if(n>b[k][0]){n=b[k][0];}}a[0][1]=m;a[1][1]=n;同理可以求得其它几科成绩的最高分和最低分然后,将object a[][]中的信息显示有窗体中图9构造总分平均分方法首先将数据库中的信息显示在利用SQL查询方法显示有两个数据中object a[][]和int b[][]中利用如下方法将求得总分和平均分try{con=DriverManager.getConnection("jdbc:odbc:hello","",""); sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);rs=sql.executeQuery("SELECT * FROM 分数信息");st();int lastNumber=rs.getRow();b=new int[lastNumber][4];a=new Object[lastNumber][8];int k=0;rs.beforeFirst();while(rs.next()){a[k][0]=rs.getString(1);a[k][1]=rs.getString(2);a[k][2]=rs.getByte(3);b[k][0]=rs.getByte(3);a[k][3]=rs.getByte(4);b[k][1]=rs.getByte(4);a[k][4]=rs.getByte(5);b[k][2]=rs.getByte(5);a[k][5]=rs.getByte(6);b[k][3]=rs.getByte(6);a[k][6]=b[k][0]+b[k][1]+b[k][2]+b[k][3];a[k][7]=(b[k][0]+b[k][1]+b[k][2]+b[k][3])/4;k++;}con.close();}catch(SQLException ee){System.out.println(ee);}图10四、实验结果及分析程序运行中的报告分析1、在登陆时如果输入不正确的用户和密码会提示用户名或密码错误,因为通过getText()方法无法获得正确的字符串从而提示错误2、在进行数据库相应操作时,如果无法正确连接数据库则会提示不存在所需的数据资源,可能原因是没有正确连接到数据源,即可能数据源名称不正确,或者在数据库中不存在相应的表,或者可能SQL语法错误在进行相应的查询的删除操作时,如果不存在输入的学号会提示用户,“学号学号不存在”,因为不在数据库不无法在相应的字段下找到相匹配的字符串。
Java大作业报告
Java大作业报告课程名称:面向对象JAVA编程技术设计题目:猜数字游戏姓名:徐俏学号:3100403012专业班级:信息工程类101班一.设计内容:游戏者在"0~100","0~200","0~300"三个区间内选择随机数字范围,点击按钮“随机产生数字”产生数字n,假设在“0~100”之间,2、当输入一个整数m时,点击按钮“比较”n与m比较。
当m>n时,提示"太大了哦!还可以再小一点~~~";否则显示"小了哦,可以猜大一点的数!",依次类推,直到猜到数字n。
显示"答对啦!!!"。
并且出现"猜的次数大于三次请自觉摁下惩罚键吧!",是的话,按下按钮"进入惩罚选择"。
3、然后点击按钮选择惩罚方式:"惩罚装扮对象""惩罚地点""惩罚事件",都由程序随机产生,最终得到惩罚事件。
二.摘要:J ava.awt,即java抽象窗口工具包(Abstract Window Toolkit,AWT)提供了许多用来设计GUI (Graphics User Interface,图形用户界面)组件类。
java早期进行用户界面设计时,主要是用java.awt包提供的类。
如Button(按钮)、TextField(文本框)和List(列表)等。
JDK1.2推出之后,增加了一个新的javax.swing包,该包提供了功能更为强大的用来设计GUI的类。
Java.awt.event,提供处理由 AWT 组件所激发的各类事件的接口和类。
有关 AWT 事件模型的细节,请参见 java.awt.AWTEvent 类。
事件由事件源所激发。
向事件源注册的事件侦听器可接收有关特定事件类型的通知。
此包定义了事件和事件侦听器,以及事件侦听器适配器,它是让事件侦听器的编写过程更为轻松的便捷类。
《JAVA程序设计》课程设计大作业-Java学生管理系统
《JAVA程序设计》课程设计大作业-Java学生管理系统山东理工大学计算机学院题目: Java学生管理系统班级姓名学号2011 年 12 月 6 日目录摘要.................................................................................3 第一章设计简介及设计方案 (4)1.1 系统功能分析 (4)1.2 系统功能模块设计 (4)1.3 数据库功能分析 (4)1.4 数据库需求分析.........................................................5 第二章详细设计 (6)2.1 数据库设计 (6)2 详细编程…………………………………………………………8 2.第三章设计结果及分析 (12)3.1 设计结果 (12)3.2 设计结果分析.........................................................19 总结..............................................................................17 参考文献 (17)2摘要随着计算机技术的飞速发展,当今社会正快速向信息化社会前进。
而如今学校的规模不断扩大,学生数量急剧加,有关学生的各种信息量也成倍增长,面对庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率。
通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工用量。
此次设计我们使用JAVA编程,实现了学生信息管理系统的过程。
本系统采用Sun公司的j2sdk1.4.2_04和SQL SERVER 2000数据库管理系统作为开发工具,通过对学生信息管理系统进行可行性分析、需求分析和设计逐步将一个学生信息管理系统的开发过程呈现出来。
Java课程大作业
Java课程大作业课程名称:网上书店组长:张为晓(1201050244)组员:包志英(1201050201)组员:常铭(1201050203)组员:方坦(1201050208)专业:计算机2012-2指导教师:仇丽青山东科技大学2015年1月15日小组完成任务情况统计表一、课程设计概述(目的、任务及分工情况、开发环境、参考资料)目的设计一个网上书店系统,该系统可以提供基本的书店相关的服务,并且有一定的可维护性任务及分工张为晓:组长主程序员、数据库设计包志英:辅程序员、网站设计常铭:辅程序员、文本设计方坦:辅程序员、素材收集开发环境运行平台:win7操作系统编译语言 Java编译程序 MyEclipse参考资料钱乐秋赵文耘牛军钰《软件工程(第2版)》清华大学出版社王珊《数据库系统概论》高等教育出版社陆杰《Web系统设计》浙江大学出版社二、项目的需求分析过程及需求模型可行性研究经过讨论得出了数据字典以及数据流图,并且在具体的实现方面做了完善的处理该系统主要由用户、图书信息、购买等模块构成用户管理系统,图书管理系统等。
具体为:用户管理系统:用户注册、用户登录、用户资料图书管理系统:加入图书、图书数量、图书购买三、项目设计模型(包括总体设计和详细设计),重点阐述采用的主要方法与技术总体设计本系统开发主要采用自顶向下的开发方式,瀑布模型,如图:四、实现项目的过程与步骤1. 由组长带领下全组进行设计讨论会议;2. 由组长分派各组员任务,素材收集员收集素材;3. 各组员分别完成系统功能的一部分,交由组长;4. 组长进行整合并完善代码;5. 全组总结,完成设计报告。
五、关键代码:package dao;import java.sql.Connection;import java.sql.PreparedStatement;import util.ConnDB;//添加图书信息public class AddBook {public int addbook(String bookname,String press,String author,double price){ int id=0;String sql="insert into BookInfo(BookName,Press,Author,Price) values(?,?,?,?)";PreparedStatement ps=null;try{ConnDB cdb=new ConnDB();Connection conn=cdb.getConn();ps=conn.prepareStatement(sql);ps.setString(1, bookname);ps.setString(2, press);ps.setString(3, author);ps.setDouble(4, price);id=ps.executeUpdate();}catch(Exception e){e.printStackTrace();}return id;}//添加到购物车public int addshopcar(String bookname,String press,String author,double price,String username,String img){int id=0;String sql="insert into ShopCarInfo(name,press,author,price,username,img) values(?,?,?,?,?,?)";PreparedStatement ps=null;try{ConnDB cdb=new ConnDB();Connection conn=cdb.getConn();ps=conn.prepareStatement(sql);ps.setString(1, bookname);ps.setString(2, press);ps.setString(3, author);ps.setDouble(4, price);ps.setString(5, username);ps.setString(6, img);id=ps.executeUpdate();}catch(Exception e){e.printStackTrace();}return id;}}package dao;import java.sql.Connection;import java.sql.Date;import java.sql.PreparedStatement;import util.ConnDB;public class AddNews {public int addnews(String name,String news,Date date){int id=0;String sql="insert into News(name,news,date) values(?,?,?)";PreparedStatement ps=null;ConnDB cdb=new ConnDB();try{Connection conn=cdb.getConn();ps=conn.prepareStatement(sql);ps.setString(1, name);ps.setString(2, news);ps.setDate(3, date);id=ps.executeUpdate();}catch(Exception e){e.printStackTrace();}return id;}}package dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import util.ConnDB;import entity.Admin;public class AdminLogin {public boolean adminlogin(String username,String password){boolean id=false;String sql="select * from AdminInfo where Username=? and Password=?";ConnDB cdb=new ConnDB();PreparedStatement ps=null;try{Connection conn=cdb.getConn();ps=conn.prepareStatement(sql);ps.setString(1,username);ps.setString(2,password);ResultSet rs=ps.executeQuery();while(rs.next()){id=true;Admin ad=new Admin();ad.setUsername(rs.getString("username"));ad.setPassword(rs.getString("password"));}}catch(Exception e){e.printStackTrace();}return id;}}package dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.ArrayList;import java.util.List;import util.ConnDB;import entity.Book;import entity.News;import entity.ShopCar;public class BookshopDao {//显示所有图书信息public List<Book> allbooks(){List<Book> list=new ArrayList<Book>();String sql="select * from BookInfo";try{ConnDB cdb=new ConnDB();Connection conn=cdb.getConn();PreparedStatement ps=null;ResultSet rs=null;ps=conn.prepareStatement(sql);rs=ps.executeQuery();while(rs.next()){Book book=new Book();book.setBookname(rs.getString("BookName"));book.setPrice(rs.getDouble("Price"));book.setAuthor(rs.getString("Author"));book.setPress(rs.getString("Press"));book.setImg(rs.getString("img"));list.add(book);}ps.close();}catch(Exception ex){ex.printStackTrace();}return list;}//查询符合条件的图书信息public List<Book> bookquery(String option,String bookoption){ List<Book> list=new ArrayList<Book>();try{ConnDB cdb=new ConnDB();Connection conn=cdb.getConn();PreparedStatement ps=null;ResultSet rs=null;if(option.equals("BookName")){String sql="select * from BookInfo where BookName like ?";ps=conn.prepareStatement(sql);ps.setString(1,'%'+bookoption+'%');rs=ps.executeQuery();while(rs.next()){Book book=new Book();book.setBookname(rs.getString("BookName"));book.setPrice(rs.getDouble("Price"));book.setAuthor(rs.getString("Author"));book.setPress(rs.getString("Press"));book.setImg(rs.getString("img"));list.add(book);}ps.close();}else if(option.equals("Press")){String sql2="select * from BookInfo where Press like ?";ps=conn.prepareStatement(sql2);ps.setString(1,'%'+bookoption+'%');rs=ps.executeQuery();while(rs.next()){Book book=new Book();book.setBookname(rs.getString("BookName"));book.setPrice(rs.getDouble("Price"));book.setAuthor(rs.getString("Author"));book.setPress(rs.getString("Press"));book.setImg(rs.getString("img"));list.add(book);}ps.close();}else if(option.equals("Author")){String sql3="select * from BookInfo where Author like ?";ps=conn.prepareStatement(sql3);ps.setString(1,'%'+bookoption+'%');rs=ps.executeQuery();while(rs.next()){Book book=new Book();book.setBookname(rs.getString("BookName"));book.setPrice(rs.getDouble("Price"));book.setAuthor(rs.getString("Author"));book.setPress(rs.getString("Press"));book.setImg(rs.getString("img"));list.add(book);}ps.close();}}catch(Exception ex){ex.printStackTrace();}return list;}//根据bookname查询图书信息以便更新使用public Book getbookname(String bookname){Book book =null;String sql ="select * from BookInfo where BookName=?";try{ConnDB dbc=new ConnDB();Connection con=dbc.getConn();PreparedStatement psmt =con.prepareStatement(sql);psmt.setString(1,bookname);ResultSet rs=psmt.executeQuery();if(rs.next()){book= new Book();book.setBookname(rs.getString("BookName"));book.setPress(rs.getString("Press"));book.setAuthor(rs.getString("Author"));book.setPrice(rs.getDouble("Price"));book.setImg(rs.getString("img"));}psmt.close();}catch(Exception e) {e.printStackTrace();}return book;}//显示购物车信息public List<ShopCar> shopcar(String username){List<ShopCar> list=new ArrayList<ShopCar>();String sql="select * from ShopCarInfo where username=?";try{ConnDB cdb=new ConnDB();Connection conn=cdb.getConn();PreparedStatement ps=null;ResultSet rs=null;ps=conn.prepareStatement(sql);ps.setString(1, username);rs=ps.executeQuery();while(rs.next()){ShopCar book=new ShopCar();book.setId(rs.getInt("id"));book.setName(rs.getString("name"));book.setPrice(rs.getDouble("price"));book.setAuthor(rs.getString("author"));book.setPress(rs.getString("press"));book.setUsername(rs.getString("username"));book.setImg(rs.getString("img"));list.add(book);}ps.close();}catch(Exception ex){ex.printStackTrace();}return list;}//显示网站公告信息public List<News> allnews(){List<News> list=new ArrayList<News>();String sql="select * from News";try{ConnDB cdb=new ConnDB();Connection conn=cdb.getConn();PreparedStatement ps=null;ResultSet rs=null;ps=conn.prepareStatement(sql);rs=ps.executeQuery();while(rs.next()){News news=new News();news.setId(rs.getInt("id"));news.setName(rs.getString("name"));news.setNews(rs.getString("news"));news.setDate(rs.getDate("date"));list.add(news);}ps.close();}catch(Exception ex){ex.printStackTrace();}return list;}}package dao;import java.sql.Connection;import java.sql.PreparedStatement;import util.ConnDB;public class DeleteBook {//删除图书public int deletebook(String bookname){int id=0;String sql="delete from BookInfo where BookName=?";try{PreparedStatement ps=null;ConnDB cdb=new ConnDB();Connection conn=cdb.getConn();ps=conn.prepareStatement(sql);ps.setString(1, bookname);id=ps.executeUpdate();}catch(Exception e){e.printStackTrace();}return id;}//删除购物车中的图书public int deleteshopcar(int id){int i=0;String sql="delete from ShopCarInfo where id=?";try{PreparedStatement ps=null;ConnDB cdb=new ConnDB();Connection conn=cdb.getConn();ps=conn.prepareStatement(sql);ps.setInt(1, id);i=ps.executeUpdate();}catch(Exception e){e.printStackTrace();}return i;}}package dao;import java.sql.Connection;import java.sql.Date;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.ArrayList;import java.util.List;import util.ConnDB;import entity.Message;public class MessageDao {public List<Message> allmessage()//显示用户的留言{List<Message> list=new ArrayList<Message>();String sql="select * from MessageInfo";try{ConnDB cdb=new ConnDB();Connection conn=cdb.getConn();PreparedStatement ps=null;ResultSet rs=null;ps=conn.prepareStatement(sql);rs=ps.executeQuery();while(rs.next()){Message ms=new Message();ms.setId(rs.getInt("id"));ms.setName(rs.getString("name"));ms.setMessage(rs.getString("message"));ms.setDate(rs.getDate("date"));list.add(ms);}ps.close();}catch(Exception ex){ex.printStackTrace();}return list;}//保存用户留言public int message(String name,String message,Date date){int id=0;String sql="insert into MessageInfo(name,message,date) values(?,?,?)";PreparedStatement ps=null;ConnDB cdb=new ConnDB();try{Connection conn=cdb.getConn();ps=conn.prepareStatement(sql);ps.setString(1, name);ps.setString(2, message);ps.setDate(3, date);id=ps.executeUpdate();}catch(Exception e){e.printStackTrace();}return id;}//删除用户留言public int delmessage(int id){int i=0;String sql="delete from MessageInfo where id=?";PreparedStatement ps=null;ConnDB cdb=new ConnDB();try{Connection conn=cdb.getConn();ps=conn.prepareStatement(sql);ps.setInt(1, id);i=ps.executeUpdate();}catch(Exception e){e.printStackTrace();}return i;}}package dao;import java.sql.Connection;import java.sql.PreparedStatement;import util.ConnDB;public class ModifyBook {public int modifybook(String bookname,String press,String author,double price){ int id=0;String sql="update BookInfo set Price=?,Author=?,Press=? where BookName=?";PreparedStatement ps=null;ConnDB cdb=new ConnDB();try{Connection conn=cdb.getConn();ps=conn.prepareStatement(sql);ps.setDouble(1, price);ps.setString(2, author);ps.setString(3, press);ps.setString(4, bookname);id=ps.executeUpdate();}catch(Exception e){e.printStackTrace();}return id;}}package dao;import java.sql.Connection;import java.sql.PreparedStatement;import util.ConnDB;public class ModifyPwd {public int modifypwd(String username,String oldpwd,String newpwd){int i=0;String sql="update UserInfo set Password=? where Username=? and Password=?";ConnDB cdb=new ConnDB();PreparedStatement ps=null;try{Connection conn=cdb.getConn();ps=conn.prepareStatement(sql);ps.setString(1, newpwd);ps.setString(2,username);ps.setString(3,oldpwd);i=ps.executeUpdate();}catch(Exception e){e.printStackTrace();}return i;}}package dao;import java.sql.Connection;import java.sql.PreparedStatement;import util.ConnDB;public class OrderDao {public int addorder(String username,String bookname,int quantity,double price,String address,String phone){int id=0;String sql="insert into Orders(username,bookname,quantity,price,address,phone) values(?,?,?,?,?,?)";PreparedStatement ps=null;ConnDB cdb=new ConnDB();try{Connection conn=cdb.getConn();ps=conn.prepareStatement(sql);ps.setString(1, username);ps.setString(2, bookname);ps.setInt(3, quantity);ps.setDouble(4, price);ps.setString(5, address);ps.setString(6, phone);id=ps.executeUpdate();}catch(Exception e){e.printStackTrace();}return id;}}package dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import util.ConnDB;public class Register {//注册新用户public int register(String username,String password,String password2,String sex,String phone,String email){int id=0;String sql="insert into UserInfo values(?,?,?,?,?)";ConnDB cdb=new ConnDB();Connection conn=cdb.getConn();PreparedStatement ps=null;try{ps=conn.prepareStatement(sql);ps.setString(1, username);ps.setString(2, password);ps.setString(3, sex);ps.setString(4, phone);ps.setString(5, email);id=ps.executeUpdate();}catch(Exception e){e.printStackTrace();}return id;}//注册时候判断用户名是否存在public boolean registercheck(String username){boolean id=false;String sql="select username from UserInfo where Username=?";PreparedStatement ps=null;ConnDB cdb=new ConnDB();Connection conn=cdb.getConn();try{ps=conn.prepareStatement(sql);ps.setString(1, username);ResultSet rs=ps.executeQuery();if(rs.next()){id=true;}}catch(Exception e){e.printStackTrace();}return id;}}package dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import util.ConnDB;import er;public class UserLogin {public boolean login(String username,String password){boolean id=false;String sql="select * from UserInfo where Username=? and Password=?";ConnDB cdb=new ConnDB();PreparedStatement ps=null;try{Connection con=cdb.getConn();ps=con.prepareStatement(sql);ps.setString(1,username);ps.setString(2,password);ResultSet rs=ps.executeQuery();if(rs.next()){id=true;String name=rs.getString("username");String pwd=rs.getString("password");User user1=new User();user1.setUsername(name);user1.setPassword(pwd);}}catch(Exception e){e.printStackTrace();}return id;}}六、个人任务(软件配置、个人完成的程序模块和文档清单)软件配置:PC机,服务器个人完成程序模块:包志英图书查询购买界面常铭主界面及接口张为晓用户注册登录界面方坦用户查询界面七、界面展示开始运行时看到的网站主页:用户注册界面八、遇到的困难与获得的主要成果(本节内容不得少于3页)在这次课程设计过程中,遇到了很多问题。
Java多媒体程序设计大作业的样本
课程:Java多媒体程序设计题目:JPEG图像生成器班级:计算机科学0402学号:0305040211姓名:陈立日期:2006.12一、大作业目的用面向对象语言JA V A完成一个应用系统的分析、设计和实施。
通过课程设计掌握面向对象编程技术、GUI编程、常用类库的使用和应用系统的开发过程。
二、大作业题目描述和要求1.题目设计一个“画图”软件,进行图形绘制并将绘制内容保存成JPEG格式文件,同时也能将计算机屏幕显示内容保存成JPEG格式文件。
2.要求(1) JPEG是被广泛使用的一种图像文件格式,本设计要求程序能将程序中绘制的图形保存为JPEG格式文件。
(2) 有时人们需要获取计算机屏幕上显示的图像,本程序要求能将屏幕图像保存为JPEG格式文件。
(3) 进一步研究Java 2D,使本“画图”软件能绘制2次曲线、3次曲线等更多功能。
3. 开发环境JCreator + JDK1.4.2三、系统分析由于设计的是JPEG图像生成器,想到平时我们用的图像编辑器主要有三块组成,菜单栏、画图用的工具栏及画板,而画图一般都是用鼠标对画板作用的过程。
因此设计该系统的初步思路就是首先需要定义图像生成器的界面窗口,其次就是往每个按钮上添加触发事件监听器(如ActionListener、MouseListener、MouseMotionListener),最后再用JFileChooser等类中有关方法完成对文件的保存与打开。
然而在实际操作的过程中,新的问题不断出现,这里只介绍最后的实现思路。
而对实际中遇到的问题及解决方法将在第六大点介绍。
在画图的时候需将每次操作写入一缓冲图像以实现保存每次绘图结果,然后在调用画板的repaint()方法对缓冲图像进行显示。
同样打开文件,就是把文件中的二进制码读出来,并转换为JPEGImageDecoder型,保存在缓冲图像中,在显示在画板上。
逆向考虑可知,对JPREG图像的保存就是把缓冲文件以JPEGImageEncoder型写入文件中。
java大作业分析文档
个人通讯录管理系统参与设计人员:姓名:班级:学号:石磊计算机26班 2120505140尹畅畅计算机26班 2120505145赵禹计算机26班 2120505148目录1 绪论1.1 设计目的1.2 设计内容2 程序需求分析3 算法分析3.1 程序总体设计思想1 绪论1.1 设计目的学习完java课程后,进行的一次全面的综合练习,旨在巩固和加深我们对java语言的基本知识的理解和掌握,掌握java语言编程和程序调试的基本技能,利用java语言进行基本的软件设计,掌握书写程序设计说明文档的能力,提高运用java语言解决实际问题的能力。
1.2 设计内容在设计一个完整的系统中,我从系统的管理员登录界面开始做,另外依据相关要求,对系统增加了数据库支持(Microsoft Access做的数据库)。
为了保证数据库的安全,在系统中设立了管理员权限,即只有被允许的用户才可以进入该系统。
2 程序需求分析设计一个通讯录管理软件,要求如下:增加记录、删除记录、显示所有记录、查询记录、退出。
通讯录记录信息包括:姓名,电话等。
(1)通讯录的每一条信息包括姓名,单位,电话(可用数组或数据库);(2)输入功能:可以一次完成若干条信息的输入;(3)显示功能:完成全部通讯录信息的显示(一屏最多显示10条,超过十条应能够自动分屏显示);(4)查找功能:完成按姓名查找通讯信息;(5)删除功能:完成按姓名删除通讯信息;3 算法分析3.1 程序总体设计思想个人通讯录件的功能模块有:(1)提供登陆界面,方便用户进入,满足需求;(2)添加:可以添加通讯录记录,依次输入姓名、电话;(3)显示:可以以表格形式输出所有通讯录里的记录;(4)查询:可以用姓名查询;(5)修改:直接进行修改即可(6)删除:可以直接删除多余的通讯录记录;程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。
java大作业文档模板
java大作业文档模板
以下是一个 Java 大作业文档的模板,你可以根据具体的作业要求和内容进行修改和完善。
**标题:[具体 Java 大作业名称]**
**一、项目简介**
(一)项目背景
(二)项目目标
(三)项目意义
**二、需求分析**
(一)功能需求
(二)性能需求
(三)用户需求
**三、系统设计**
(一)系统架构
(二)模块设计
(三)数据库设计
**四、技术实现**
(一)开发环境
(二)使用的技术和框架
(三)关键代码实现
**五、测试与调试**
(一)测试用例
(二)测试结果
(三)调试过程
**六、总结与展望**
(一)项目总结
(二)项目展望
**七、参考文献**
(列出在文档撰写过程中参考的文献、资料等。
)
注意:以上模板仅供参考,你可以根据实际情况进行适当调整和补充,以确保文档的完整性和可读性。
同时,确保在文档中提供清晰的描述、合理的结构和准确的信息。
如果有具体的要求或其他问题,请随时提问。
Java大作业报告
btns[n+col*q].setText(a[x][y+1]+"");
a[x][y+1]=10;
btns[n+col*q].setEnabled(false);
}
else if(a[x][y+1]==0){
out(a,btns,e,n+col*q,x,y+1);
a[x-1][l]=10;
btns[n+col*q].setEnabled(false);
}
p=0;
}
}
}
p=1;
m=x;
if(n>-1&&n<col&&m>-1&&m<col)
{
for(int q=0;q<row&&p==1;q++){
if(((n+col*q)>=(m*col))&&((n+col*q)<(m+1)*col)){
JMenuItem mi1=new JMenuItem("初级");
JMenuItem mi2 = new JMenuItem("中级");
JMenuItem mi3 =new JMenuItem("高级");
mi1.addActionListener(this);
menu1.add(mi1);
mi2.addActionListener(this);
contentPane.add(p2,BorderLayout.CENTER);
Java大作业报告
课程:Java程序设计与应用开发题目:登录系统与钟表实现班级:XXXXXXXXXX学号:XXXXXXXX姓名:XXXX日期:XXXXX一、大作业目的用面向对象语言JA V A完成登录系统和钟表的分析、设计和实施。
通过课程设计掌握面向对象编程技术、GUI编程、常用类库的使用和应用系统的开发过程。
二、大作业题目描述和要求1.题目设计简单的登录系统和钟表界面,掌握Java编程中的多媒体应用。
2.要求(1)登录系统是java编程中比较基础的,设计一个登录对话框,通过输入正确的用户名和密码来进入系统,系统是一个带有菜单栏的记事本程序,通过点击菜单栏上的按钮来实现相应的功能。
(2) 通过设计一个钟表程序进一步掌握java在多媒体方面的应用。
3. 开发环境Eclipce + JDK1.4.2三、系统分析1.对于登录系统,首先应该对登录界面进行设计,该对话框中包括两个标签,一个文本输入框,一个密码输入框和两个按钮,这些GUI组件被添加到一个使用了网络袋布局的面板panel中,面板panel又被添加到Text_Login的内容窗格。
设计该系统的初步思路就是首先需要定义图像生成器的界面窗口,其次就是往每个按钮上添加触发事件监听器(如ActionListener、MouseListener、MouseMotionListener),然而在实际操作的过程中,新的问题不断出现,不过最后依依解决了。
对于记事本程序中的菜单栏的实现,菜单也是一种常用的GUI组件,菜单是一种层次结构,最顶层是菜单栏,在菜单栏中可以添加若干个菜单,每个菜单又可以添加若刚菜单选项,子菜单。
当单击一个菜单选项时,会生成一个动作事件,为菜单选项添加事件侦听器就可以侦听起动作事件。
2.对于Java的多媒体应用之钟表实现,程序在窗口上显示一个表盘,时刻度和分刻度为3D样式的,分别为黑灰色和灰色时针分针秒针随着时间在走动,间隔1s。
时针和分针的样式设计为略显锥形,秒针为简单的直线形。
JAVA 大作业 2
JA V A 大作业----------------------------------------------------------------------------------------------------------------------班级:计算112学号:110811224姓名:王勤东摘要已知数据库student表stl,编写程序,链接数据库,做图形界面,在其中有多个选项“添加”、“修改”、“删除”、“查询”等,根据用户选择的功能再输入相应的数据并完成相关功能。
用web实现。
目录一.实验步骤 (3)二.主要原代码及界面 (3)1.主界面 (5)2.添加界面 (7)3.修改界面 (9)一实验步骤:在MySQL Command Line Client中建数据库,运行以下代码:Enter password: ********* //密码Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 1Server version: 5.6.12 MySQL Community Server (GPL)Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> create database students;Query OK, 1 row affected (0.14 sec)mysql> use students;Database changedmysql> CREATE TABLE st1-> (-> no CHAR(9) NOT NULL,-> name CHAR(8) NOT NULL,-> sex CHAR(2) NOT NULL,-> birthday DATE NOT NULL,-> major VARCHAR(20) NOT NULL-> );Query OK, 0 rows affected (1.13 sec)mysql> insert into st1 values ('110814102', 'Tom','m','91-01-02','computer');Query OK, 1 row affected (0.09 sec)mysql> select * from st1;+-----------+------+-----+------------+----------+| no | name | sex | birthday | major |+-----------+------+-----+------------+----------+| 110814102 | Tom | m | 1991-01-02 | computer |+-----------+------+-----+------------+----------+1 row in set (0.03 sec)二主要原代码及界面:import java.sql.*;public class operatedb1{String driverName = "com.mysql.jdbc.Driver";String dbURL = "jdbc:mysql://localhost:3306/student";static int flag=0;static Connection dbConn;public operatedb1(String userName,String userPwd){try{dbConn = DriverManager.getConnection(dbURL, userName, userPwd);flag=1;}catch (Exception e) {System.out.println("connection error!");e.printStackTrace();} }}添加功能实现:import java.sql.*;import javax.servlet.*;import javax.servlet.http.*;import java.io.*;public class addwebs1 extends HttpServlet{public void service(HttpServletRequest rq,HttpServletResponse rp) throws ServletException,IOException{String userName = "root"; //默认用户名String userPwd = "123456789"; //密码Connection dbConn;rp.setContentType("text/html;charset=gbk");PrintWriter out=rp.getWriter();String no=new String(rq.getParameter("no").getBytes("iso-8859-1"));String nm=new String(rq.getParameter("nm").getBytes("iso-8859-1"));String sx=new String(rq.getParameter("sx").getBytes("iso-8859-1"));String ag=new String(rq.getParameter("ag").getBytes("iso-8859-1"));String dp=new String(rq.getParameter("dp").getBytes("iso-8859-1"));try{if(operatedb1.flag==0){ new operatedb1(userName,userPwd);//生成operatedb1的对象,连接数据库out.println("flag==0");}if(operatedb1.flag==1){out.println("Connection Successful!");Statement stmt=operatedb1.dbConn.createStatement();String s1="insert into st1 values('";s1=s1+no+"','"+nm+"','"+sx+"','"+ag+"','"+dp+"')";out.println(s1);stmt.executeUpdate(s1);}}catch(Exception e){}out.println("Thank you ");}}Html 代码:<meta http-equiv="Content-Type" content="text/html; charset=gbk" /> <form action=addweb method=get>学号:<input type=text name=no> <br>姓名:<input type=text name=nm> <br>性别:<input type=text name=sx> <br>生日:<input type=date name=ag> <br>专业:<input type=text name=dp> <br><input type=submit value="提交"><input type="button" name="返回" value="返回"onClick="location.href='head.html'"/></form>删除功能实现:import java.sql.*;import javax.servlet.*;import javax.servlet.http.*;import java.io.*;public class deletwebs extends HttpServlet{public void service(HttpServletRequest rq,HttpServletResponse rp) throws ServletException,IOException{String userName = "root"; //默认用户名String userPwd = "123456789"; //密码rp.setContentType("text/html;charset=gbk");PrintWriter out=rp.getWriter();String no=new String(rq.getParameter("yy").getBytes("iso-8859-1"));try{if(operatedb1.flag==0){new operatedb1(userName,userPwd);//生成operatedb1的对象,连接数out.println("flag==0"+ "<br>");}if(operatedb1.flag==1 ){out.println("Connection Successful!"+ "<br>");Statementstmt=operatedb1.dbConn.createStatement();String s1="delete from st1 where no='";String s=s1+no+"'";out.println(s+ "<br>");int f=stmt.executeUpdate(s);if(f==0)out.println("删除失败"+ "<br>");elseout.println("删除成功"+ "<br>");} }catch(Exception e){out.println(e);}out.println("Thank you ");} }Html 代码:<meta http-equiv="Content-Type" content="text/html; charset=gbk" /> <form action=deletweb method=get>输入学号:<input type=text name=yy> <br><input type=submit value="删除"><input type="button" name="返回" value="返回"onClick="location.href='head.html'"/></form>修改功能实现:import java.sql.*;import javax.servlet.*;import javax.servlet.http.*;import java.io.*;public class updatewebs extends HttpServlet{public void service(HttpServletRequest rq,HttpServletResponse rp) throws ServletException,IOException{String userName = "root"; //默认用户名String userPwd = "123456789"; //密码Connection dbConn;rp.setContentType("text/html;charset=gbk");PrintWriter out=rp.getWriter();String no=new String(rq.getParameter("no").getBytes("iso-8859-1"),"gbk");String nm=new String(rq.getParameter("nm").getBytes("iso-8859-1"),"gbk");String sx=new String(rq.getParameter("sx").getBytes("iso-8859-1"),"gbk");String ag=new String(rq.getParameter("ag").getBytes("iso-8859-1"),"gbk");String dp=new String(rq.getParameter("dp").getBytes("iso-8859-1"),"gbk");try{if(operatedb1.flag==0){ new operatedb1(userName,userPwd);//生成operatedb1的对象,连接数据库out.println("flag==0");}if(operatedb1.flag==1){out.println("Connection Successful!"); //如果连接成功控制台输出Connection Successful!Statement stmt=operatedb1.dbConn.createStatement();String s1="update st1 set no='";s1=s1+no+"',name='"+nm+"',sex='"+sx+"',birthday='"+ag+"',major='"+dp +"'";out.println(s1);stmt.executeUpdate(s1); }}catch(Exception e){}out.println("Thank you ");}}Html 代码:<meta http-equiv="Content-Type" content="text/html; charset=gbk"/><form action=updateweb method=get>学号:<input type=text name=no> <br>姓名:<input type=text name=nm> <br>性别:<input type=text name=sx> <br>生日:<input type=date name=ag> <br>专业:<input type=text name=dp> <br><input type=submit value="修改"><input type="button" name="返回" value="返回"onClick="location.href='head.html'"/></form>查询功能实现:import java.sql.*;import javax.servlet.*;import javax.servlet.http.*;import java.io.*;public class showwebs extends HttpServlet{public void service(HttpServletRequest rq,HttpServletResponse rp) throws ServletException,IOException{String userName = "root"; //默认用户名String userPwd = "123456789"; //密码rp.setContentType("text/html;charset=gbk");PrintWriter out=rp.getWriter();String no=new String(rq.getParameter("xx").getBytes("iso-8859-1"));try{if(operatedb1.flag==0){new operatedb1(userName,userPwd);//生成operatedb1的对象,连接数out.println("flag==0"); }if(operatedb1.flag==1){out.println("Connection Successful!"); //如果连接成功控制台输出Connection Successful!Statementstmt=operatedb1.dbConn.createStatement();//String s1="select * from st1 where no='";String s=s1+no+"'";out.println(s + "<br>");ResultSet rset=stmt.executeQuery(s);while(rset.next()){out.println(rset.getString(1)+""+rset.getString(2)+" "+rset.getString(3)+" "+rset.getString(4)+""+rset.getString(5)+"<br>");} } }catch(Exception e){out.println(e);}out.println("Thank you "); } }Html 代码:<meta http-equiv="Content-Type" content="text/html; charset=gbk" /> <form action=showweb method=get>输入学号:<input type=text name=xx> <br><input type=submit value="查询"><input type="button" name="返回" value="返回"onClick="location.href='head.html'"/></form>WEB.xml 代码如下:<web-app xmlns="/xml/ns/javaee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/javaee /xml/ns/javaee/web-app_2_5.xsd"version="2.5"><display-name>Welcome to Tomcat</display-name><description>Welcome to Tomcat</description><servlet><servlet-name>adds</servlet-name><servlet-class>addwebs1</servlet-class></servlet><servlet-mapping><servlet-name>adds</servlet-name><url-pattern>/addweb</url-pattern></servlet-mapping><servlet><servlet-name>shows</servlet-name><servlet-class>showwebs</servlet-class></servlet><servlet-mapping><servlet-name>shows</servlet-name><url-pattern>/showweb</url-pattern></servlet-mapping><servlet><servlet-name>deles</servlet-name><servlet-class>deletwebs</servlet-class></servlet><servlet-mapping><servlet-name>deles</servlet-name><url-pattern>/deletweb</url-pattern></servlet-mapping><servlet><servlet-name>update</servlet-name><servlet-class>updatewebs</servlet-class> </servlet><servlet-mapping><servlet-name>update</servlet-name><url-pattern>/updateweb</url-pattern></servlet-mapping></web-app>。
《JavaEE结课大作业》模板样例
内蒙古科技大学《JavaEE结课大作业》报告姓名:专业:计算机12级2班学号:完成日期:2015年 7 月8日图书商城系统的实现一、运行界面截图首页:图书信息展示:根据图书id查看某个图书详情:根据图书id删除图书:根据id修改图书信息:添加图书:二、核心代码说明查看所有图书信息:package com.ly.action; import java.util.List;import java.util.Map;import org.apache.struts2.interceptor.RequestAware;import com.ly.bean.LyBook;import com.ly.service.LyBookSer;public class LyBookAction implements RequestAware { private LyBookSer BookSer;private int sencond;private int first;private int bookid;public void setBookid(int bookid) {this.bookid = bookid;}public void setFirst(int first) {this.first = first;}public void setSencond(int sencond) {this.sencond = sencond;}public void setBookSer(LyBookSer bookSer) { BookSer = bookSer;}public String getAll(){List<LyBook> list = BookSer.getAll();map.put("booklist", list);return "success";}private Map<String, Object> map;public void setRequest(Map<String, Object> arg0) {this.map = arg0;}根据图书id查看:public String detail(){map.clear();BookSer.detail(bookid);List<LyBook> list = BookSer.detail(bookid);map.put("booklist", list);return"detail";}}public List<LyBook> detail(int id){String sql="from LyBook where bookid= "+id;List<LyBook> list =(List<LyBook>) getsSession().createQuery(sql).list();return list;}public List<LyBook> detail(int bookid){ return Bookdao.detail(bookid);}根据ID删除:private int bookid;public void setBookid(int bookid) {this.bookid = bookid;}public String delete(){BookSer.delete(bookid);return"delete";}public void delete(int bookid){Bookdao.delete(bookid);}public void delete(int bookid){String sql="delete from LyBook where bookid=?";getsSession().createQuery(sql).setInteger(0,bookid).executeUpdate();}根据id修改图书信息:public String update1(){BookSer.detail(bookid);List<LyBook> list = BookSer.detail(bookid);map.put("booklist", list);return"update";}public String update(){BookSer.update(bookid, price, bookname, conutNum, author);return"delete";}public void update(int bookid,double price,String bookname,int conutNum,String author){String sql="update LyBook set price="+price+"where bookid="+bookid;getsSession().createQuery(sql).executeUpdate();}添加图书:public void addbook(LyBook book){getsSession().saveOrUpdate(book);}public void addbook(LyBook book){Bookdao.addbook(book);}}private String bookname;private int conutNum;private double price;private String author;public void setBookname(String bookname) { this.bookname = bookname;}public void setPrice(double price) {this.price = price;}public void setAuthor(String author) { this.author = author;}public void setConutNum(int conutNum) { this.conutNum = conutNum;}public String addbook(){LyBook book = new LyBook();book.setBookname(bookname);book.setConutNum(conutNum);book.setPrice(price);book.setAuthor(author);BookSer.addbook(book);return"delete";}}三、附:项目代码压缩包上传至教学平台。
java大作业文档说明
java大作业文档说明1. 数据库设计:用的数据库是MYSQL数据库名称:testpapercomment数据库中包含两个表表一:examination(成绩表)包含两个属性:studentnum(学生编号)studentexam(学生成绩)表二:student(学生表)包含三个属性:studentnum(学生编号)studentnam(学生姓名)Faculty(所属院系)表一:属性名类型长度十进位允许空置studentnum varchar 40 0 否(主键)studentexam int 40 0 是表二:属性名类型长度十进位允许空置studentnum varchar 40 0 否(主键)studentnam varchar 40 0 是faculty varchar 40 0 是本机名:localhost用户名:root密码:*****连接数据库代码实现:protected static Connection conn;public static Connection getConn() throws Exception{String url = “jdbc:mysql://localhost/testpapercomment"; // URL指向要访问的数据库名String user = "root"; // MySQL配置时的用户名String password ="*****"; // MySQL配置时的密try {Class.forName("com.mysql.jdbc.Driver"); // 加载驱动程序conn = DriverManager.getConnection(url, user,password); // 连续数据库if(!conn.isClosed())System.out.println("Succeeded connecting to theDatabase!");}//验证是否连接成功catch(ClassNotFoundException e) {System.out.println("Sorry,can`t find theDriver!");e.printStackTrace();} catch(SQLException e) {e.printStackTrace();} catch(Exception e) {e.printStackTrace();}return conn;}界面设计:主要运用,按钮,文本编辑框,文本标签等组件采用鼠标响应界面设置代码:JLabel jlable3=new JLabel("成绩段");JLabel jlable1=new JLabel("人数");JLabel jlable2=new JLabel("比例");JButton button1=new JButton("90分以上");JButton button2=new JButton("80~89分");JButton button3=new JButton("70~79分"); JButton button4=new JButton("60~69分"); JButton button5=newJButton("60分以下"); JButton button6=new JButton("最高分"); JButton button7=new JButton("最低分"); JButton button8=new JButton("平均分"); JButton button9=new JButton("学生人数"); JTextField TextField1=new JTextField(); JTextField TextField2=new JTextField(); JTextField TextField3=new JTextField(); JTextField TextField4=new JTextField(); JTextField TextField5=new JTextField(); JTextField TextField6=new JTextField(); JTextField TextField7=new JTextField(); JTextField TextField8=new JTextField(); JTextField TextField9=new JTextField(); JTextField TextField10=new JTextField(); JTextField TextField11=new JTextField(); JTextField TextField12=new JTextField(); JTextField TextField13=new JTextField(); JTextField TextField14=new JTextField(); JTextField TextField15=new JTextField(); public mainFrame() { super("试卷分析界面"); this.setBounds(400, 100, 650, 560); this.setDefaultCloseOperation(EXIT_ON_CLOSE); Container contentPane=getContentPane(); contentPane.setBackground(Color.white);contentPane.add(jlable3); contentPane.add(jlable1); contentPane.add(jlable2); contentPane.add(button1); contentPane.add(button2); contentPane.add(button3); contentPane.add(button4); contentPane.add(button5);contentPane.add(button6); contentPane.add(button7);contentPane.add(button9); contentPane.add(TextField1); contentPane.add(TextField2); contentPane.add(TextField3); contentPane.add(TextField4); contentPane.add(TextField5); contentPane.add(TextField6); contentPane.add(TextField7); contentPane.add(TextField8); contentPane.add(TextField9); contentPane.add(TextField10); contentPane.add(TextField11); contentPane.add(TextField12); contentPane.add(TextField13); contentPane.add(TextField14); contentPane.add(TextField15); TextField14.setBounds(260,10,100,30);TextField15.setBounds(400,10,100,30);jlable3.setBounds(110,45,100,30);button9.setBounds(80,10,100,30);button9.addActionListener(this); jlable1.setBounds(300,45,80,30); jlable2.setBounds(440,45,100,30);button1.setBounds(80,80,100,30);button1.addActionListener(this);button2.setBounds(80,130,100,30);button2.addActionListener(this);button3.setBounds(80,180,100,30);button3.addActionListener(this);button4.setBounds(80,230,100,30);button4.addActionListener(this);button5.setBounds(80,280,100,30);button5.addActionListener(this);button6.setBounds(140,330,100,30);button6.addActionListener(this);button7.setBounds(140,380,100,30);button7.addActionListener(this);button8.setBounds(140,430,100,30);button8.addActionListener(this);TextField12.setBounds(320,380,100,30);TextField13.setBounds(320,430,100,30);TextField1.setBounds(260,80,100,30);TextField2.setBounds(260,130,100,30);TextField3.setBounds(260,180,100,30);TextField4.setBounds(260,230,100,30);TextField5.setBounds(260,280,100,30);TextField6.setBounds(400,80,100,30);TextField7.setBounds(400,130,100,30); //最高最低平均分那三个编辑框TextField8.setBounds(400,180,100,30); TextField9.setBounds(400,230,100,30);TextField10.setBounds(400,280,100,30);contentPane.setLayout(null);this.setVisible(true);按钮响映:举例90分以上这个按钮:button1.addActionListener(this);public void actionPerformed(ActionEvent e){if(e.getSource()==button1){String w;double t,c;try {ResultSet rs=mm.getrs(con, "selectCOUNT(studentnum) from examination where studentexam =90"); if(rs.next()){TextField1.setText(rs.getString("COUNT(studentnum)"));w=rs.getString("COUNT(studentnum)"); t = Double.parseDouble(w);c=Count();double d=(t/c)*100;DecimalFormat numberForm=(DecimalFormat)NumberFormat.getNumberInstance(Locale.CH INA); String y = numberForm.format(d).toString();TextField6.setText(y+"%");}else{JOptionPane.showMessageDialog(this,"没有成绩!"); }}catch(Exception ex){//利用消息对话框提示查询失败JOptionPane.showMessageDialog(this,"统计成绩失败!");}}总结人数以及比例代码实现:ResultSet rs=mm.getrs(con, "select COUNT(studentnum) from examination where studentexam ***** 80 AND 89");if(rs.next()){TextField2.setText(rs.getString("COUNT(studentnum)"));w=rs.getString("COUNT(studentnum)"); t =Double.parseDouble(w);c=Count();double d=(t/c)*100;DecimalFormat numberForm=(DecimalFormat)NumberFormat.getNumberInstance(Locale.CH INA); String y = numberForm.format(d).toString(); TextField7.setText(y+"%");}else{JOptionPane.showMessageDialog(this,"没有成绩!");。
(完整word版)java大作业报告模板
郑州轻工业学院《Java程序设计》作业报告姓名(学号)许超(5413060401XX)专业班级信管13-01指导教师黄永丽完成时间 2015 年 7月 1日成绩一、设计目的及任务要求设计一个简单学生个人信息管理系统,该系统具有录入,查询,修改三项基本功能。
要求如下:(1)具有简单的录入,查询和修改功能。
(2)修改学生信息必须输入学号,然后对姓名、性别和专业等进行修改;(3)使用集合类来保存存储数据。
(也可用文件来保存,也可以用数据库)(4)学生个人信息必须包括:学号、姓名、性别、出生日期、身份证号、专业、班级自我简介,其余可自行丰富。
实现使用:前台窗口使用GUI编程创建图形界面,对图形界面的窗口和按钮进行事件监听,对于学生信息的录入,在GUI界面上输入学生信息,将相应的学生信息,保存到集合或者文件中。
查询根据查询条件如学号把相应的学生信息找到在图形用户界面上显示出来。
而修改功能是先查询在把修改后的信息保存。
二、系统功能分析与设计设计的学生个人信息管理系统,此系统能够实现学生信息录入,查找修改的功能,要有信息录入保存就必须有储存数据的地方,在这里我选择用文件来设计学生信息储存,学生信息查找功能需要按学号查找,学生信息修改要先查找到需要修改的学生信息然后修改。
系统体系设计如下三、数据分析与设计在我的学生信息管理系统中,用文件来保存学生信息,定义文件并把文件放在和程序同一个文件夹下放进去数个原始数据,然后在程序中进行录入、查询和修改。
定义代码如下:File file=new File("studentData.txt");file.createNewFile();文件如下:四、设计思路(相关类介绍,以及类之间的关系图)1.相关类介绍○1JFrameDemo类是本系统的主类,是程序的主要功能实现类,它继承自JFrame类。
○2b6.addActionListener(new ActionListener() {})类是JFrameDemo 的内部类,实现按钮b6的监听功能。
JAVA-课程设计(大作业)报告
课程设计(大作业)报告课程名称:面向对象程序设计课程设计设计题目:设计一个记事本院系:信息技术学院班级:设计者:学号:指导教师:设计时间:信息技术学院昆明学院课程设计(大作业)任务书简单记事本程序的设计目录一.题目分析 (5)1.1需求分析 (5)1.2功能要求设计 (5)二.总体设计 (5)2.1设计思路 (5)2.2运行界面 (6)2.3模块说明图 (6)2.4主流程图 (7)2.5 UML图 (7)2.6程序相关说明 (8)三.运行环境 (8)四.详细设计与分析 (8)4.1.初始化组件 (8)4.2.构建菜单栏及其下拉菜单 (8)4.3.“文件”菜单的事件监听 (9)4.5.异常处理 (10)五.调试分析 (12)六.总结 (13)七.参考文献 (14)附录(源代码) (14)一.题目分析1.1需求分析现在网络上各种文档编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed, xint 。
功能也是应有尽有,有的能改变字体,有的能改变文字颜色。
但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。
仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。
本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。
该报告中的程序是使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能,不同之处是本程序能够对文字的颜色进行设置。
该程序主要用到了Java swing和事件监听等。
1.2功能要求设计设计一个记事本,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切,查找替换等功能,可扩展功能。
本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:5)菜单中有“文件”,“编辑”,“关于”三个主菜单。
JAVA大作业报告
JAVA大作业报告√课题2 □课题3课题代号(单选)□课题1 □课题名称:通用源代码编辑器√3人□4人小组成员人数(单选)□1人□2人□小组成员名单(学号和姓名):(1)学号 B0904 姓名(2)学号___ ____ 姓名(3)学号姓名课题实现采用的工具(如为其他,请填写具体工具名称)√Eclipse □JDK命令行□其他______________□NetBeans□课题实现采用的操作系统(如为其他,请填写操作系统名称)√Windows □Unix □ Linux □其他______________ MicroSoft □课题完成时间:___________________2011.6.21________________对应提交的电子文档打包文件名称(准确填写):________________B09040119_B09040121_B09040220.zip===================以下部分为教师填写区,请勿填写==================评阅编号:()-()成绩评定:软件运行______软件基本功能_______软件提高功能______ 软件部分成绩________文档结构______文档理论___________文档撰写__________ 文档部分成绩________ 总成绩____________备注____________________________________________________________________一、需求分析课题要求:基本要求:设计用于软件开发时编写源代码的编辑器,可以完成文本方式的源程序的文件打开,编辑和文件保存操作。
提高要求:实现对包括Java语言在内的编程语言集合(如Java, C,C++,ASM等)的关键词语法加亮功能;实现剪贴板的功能;实现搜索定位关键字段的功能;实现搜索替换关键字段的功能;实现二进制文件的打开以及编辑功能(一般用16进制方式进行)。
Java程序文档模板
软件设计说明书
(本word(命名:与设计题目相同)完成后与工程文件夹一起放在同一个父文件夹(命名:学号+姓名)下,由宿舍长收齐后一起压缩发给大大大班长,15周末交,16周安排答辩,具体时间再通知,文档完成后删除这句话)
课程名称:Java程序设计作业
设计题目:
学院:计算机科学与信息工程学院
学生姓名:
学号:140313101**
专业班级:物联网工程
指导教师:**
2016 年12 月
1.设计背景1.1(宋体四号,加粗)
(宋体小四,1.5倍行距)
2.设计方案2.1(宋体四号,加粗,软件流程)
(宋体小四,1.5倍行距)
3. 代码实施3.1(宋体四号,加粗)
(宋体小四,1.5倍行距)
4. 收获与致谢
(宋体小四,1.5倍行距)。
Java大作业报告
Java大作业报告课程名称:Java2面向对象程序设计设计题目:淘金者的游戏一、实验目的1、加深对Java相关语法以及程序编写的认识与理解。
2、更好地熟悉JDK和J2ME。
3、初步建立自我开发Java程序的意识和概念,增强进一步学习Java的兴趣。
二、摘要说明对于初学者而言,这是一个比较大的程序,极具挑战性。
它是由八个子程序(Ghost/GhostCanvas/GhostMIDlet/Man/Monster/Prop/svPoint/TollGate)和一个图片文件(res)组成。
由于临近期末,时间紧张,所以我只挑选了其中的一个主程序的主要部分来研究。
因为我想Java程序的学习重在精,不在多。
这一点还请老师见谅。
这是一个“淘金者”的游戏。
原先我从网上下载来的是一个“抓鬼”游戏。
我觉得这个主题太恐怖,所以就想给它换个主题。
最后,我通过一些方法把游戏界面换成了“淘金”。
三、主程序主要代码的分步详述1)游戏状态的设置int status=0; //主菜单被选中项 0-百宝箱显示 1-主菜单 2-游戏中 3-重新开始 4-分数排行 5-游戏帮助 6-退出游戏int g_status=0; //游戏状态int p_status=0; //子状态int s_status=0; //子状态下的状态int sta=0;//下一个状态int g_sta=0;int p_sta=0;int i_status=0;//装载状态public static boolean playPause=false;// boolean是关键字,其缺省值是false2)主面布相关boolean conti; //游戏运行标志Random random=new Random();//产生随机数public static svPoint svp=null;//svPoint是另一个class的名称,用于控制得分的记录与保存boolean keyPre=false;//是否有键按下3)游戏相关//--------------------主菜单-------------------------public Image menuImg=null;public String[]menuSelPng={"/res/m0.png","/res/m1.png","/res/m2.png","/res/m3.png","/res/m4.png"};public Image[] menuSelImg=new Image[5];//m0,m1,m2,m3,m4,这五张图片分别是“游戏开始”“重新游戏”“分数排行”“游戏帮助”“退出游戏”//--------------------游戏中-------------------------public Image panelImg=null;static boolean g_pause=false; //游戏暂停标志public static Man man=null; //Man是另一个class的名称,用于控制小人的走路、中招、淘到金子等状态public static Vector mons=null;//Monster是另一个class的名称,用于控制牛头、马面、夜叉、僵尸这四种怪物的移动方向以及范围public static Prop prop=null; //Prop是另一个class的名称,用于控制游戏中溜冰鞋、面罩、蜡烛、蔓藤、鼠夹、鬼火这些道具的出现时间与位置public Image gameOverImg=null;public static int gateTime=1000;//本关关卡时间public String[]gateNumPng={"/res/n0.png","/res/n1.png","/res/n2.png","/res/n3.png","/res/n4.png","/ res/n5.png","/res/n6.png","/res/n7.png","/res/n8.png","/res/n9.png"};public Image[] gateNumImg=new Image[10];//这10张图片分别是0-9的数字,用来表示所闯的关数public Image gateImg=null;int t_gate=0;int t_point=0;int showWinTime=0;Image winImg=null;Image congImg=null;//--------------------帮助文字-----------------------String[] helpMe=null;//===================================================int i,j;GhostCanvas() {super(false);setFullScreenMode(true);//设置全屏模式init();start();}public void start() {Thread t=new Thread(this);//多线程t.start();}public static int rate=200;//每帧播放时间为1/10秒public static long startTime=0;//记录开始游戏经过的时间4)根据当前状态时的按键调整游戏状态(用了多个switch语句,嵌套)private void control() {int keystate=getKeyStates();switch(status) {//主菜单被选中项 0-百宝箱显示 1-主菜单 2-游戏中 3-重新开始 4-分数排行 5-游戏帮助 6-退出游戏case 0://百宝动画status=1;g_status=0;break;case 1://主菜单switch(g_status){ //游戏状态case 0:menuInit();//菜单初始化g_status=1;p_status=0; //子状态break;case 1://菜单选择界面if (v_GameCode==Canvas.UP && keyPre){// 游戏操作Canvas类的up属性p_status--;//子状态if (p_status<0){p_status=4;}} else if (v_GameCode==Canvas.DOWN && keyPre){p_status++;if (p_status>4){p_status=0;}}if (v_GameCode==Canvas.FIRE && keyPre){unMenu();switch(p_status){case 0://开始游戏status=2;g_status=0;case 1://重新开始status=3;break;case 2://分数排行status=4;g_status=0;break;case 3://游戏帮助status=5;g_status=0;break;case 4://退出游戏exit();status=-1;break;}}break;}break;case 2: //游戏画面switch(g_status){ //游戏状态case 0://载入游戏gameInit(10);g_status=4;p_status=0;break;case 1://载入本关startGate();g_pause=false;if (i_status>10){g_status=3;i_status=0;}break;case 3://游戏中if(v_keyCode==-7 && keyPre) {endGate();unGame();status=1;g_status=0;p_status=0;} else if(v_keyCode==-6 && keyPre) {} else{int s_status=isEndGate();if (s_status!=0){if (s_status==1){//淘到所有的金子if (t_gate==17){//通关man.point=man.point+(TollGate.curTollGate+1)*1000; //基本分man.point=man.point+GhostCanvas.gateTime/1000*100; //提前完成的分数t_point=Man.point;t_gate=TollGate.curTollGate;g_sta=6;p_sta=0;g_status=-3;p_status=0;} else{//过关man.point=man.point+(TollGate.curTollGate+1)*1000; //基本分man.point=man.point+GhostCanvas.gateTime/1000*100; //提前完成的分数TollGate.curTollGate++;g_sta=4;p_sta=0;endGate();g_status=-3;p_status=0;}} else if(s_status==2 || s_status==3){//时间到或被怪物碰到t_point=Man.point;t_gate=TollGate.curTollGate;g_status=5;p_status=0;}}case -3://胜利switch(p_status){case 0:showWinTime=0;if (winImg==null){winImg=Image.createImage("/res/win.png");//显示胜利的图片 }catch(Exception e){}}p_status=1;break;case 1:showWinTime+=rate;if (showWinTime>1500){p_status=2;}break;case 2:winImg=null;g_status=g_sta;p_status=p_sta;}break;case 4://过关画面操作switch(p_status){case 0://gateImgInit(TollGate.curTollGate+1);p_status=1;break;case 1://if(keyPre){UnGateImg();g_status=1;}break;}break;case 5://GameOverswitch(p_status){case 0:endGate();unGame();if (gameOverImg==null){try{gameOverImg=Image.createImage("/res/gameover.png"); }catch(Exception e){}}p_status=1;case 1:if(keyPre){congImg=null;p_status=2;}break;case 2:if (t_point>Man.MaxPoint){svp.inputing=true;GhostMIDlet.mainMIDlet.disp.setCurrent(svp.frm); }p_status=3;break;case 3:if (!svp.inputing && keyPre){gameOverImg=null;status=1;g_status=0;p_status=0;}break;}break;case 6://通关switch(p_status){case 0://装载通关画面endGate();unGame();if (congImg==null){try{congImg=Image.createImage("/res/cong.png"); }catch(Exception e){}}p_status=1;break;case 1:if (keyPre){p_status=2;}break;case 2:if (t_point>Man.MaxPoint){svp.inputing=true;GhostMIDlet.mainMIDlet.disp.setCurrent(svp.frm); }p_status=3;break;case 3:if (!svp.inputing){status=1;g_status=0;p_status=0;}break;}break;}break;case 3://重新开始svp.readTollGate();TollGate.curTollGate=svp.gate;Man.point=0;gameInit(TollGate.curTollGate);status=2;g_status=4;p_status=0;break;case 4://分数排行switch(g_status){case 0://装载排行榜if (svp.isExistRs("point")){svp.getPointList();}g_status=1;break;case 1://显示排行榜if (keyPre){status=1;g_status=0;}break;}break;case 5://游戏帮助switch(g_status){case 0://装载帮助文字helpMe=new String[]{"1.在游戏规定的关卡中淘到所有的金子"," 就可以获得胜利。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
皖西学院
JA V A课程期末大作业
( 2016 -- 2017 年度第二学期)
课程名称:JA V A程序设计
题目:备忘录系统
院系:电信学院
班级:电子1402班
组名:风尘三侠
组员(姓名+学号):
陈松龄(2014013860)
陈志康(2014013863)
贾林松(2014013870)授课教师:范祥林
日期:2017 年6 月18 日
备忘录系统
摘要:
本作业利用JAVA进行开发,实现个人备忘录管理系统是能够运行在普通个人电脑上,为使用者提供日常信息管理功能的工具软件,使用者可以通过个人备忘录管理系统对日常工作/生活琐事进行更有效的管理,主要是为使用者提供对个人信息更方便的记录和查询功能,为使用者在个人信息管理上带来更多的便利。
具有日常记事:记录日常生活或者工作事件,以免遗忘,并提供记录的查询,添加和删除等管理功能。
一、目的与要求
1.需求描述:基于MySql实现备忘录系统功能。
2.通过实践训练,进一步掌握JAVA开发方法,测试方法,提高软件开发
和设计的能力。
3.进一步加强和提高工程文档的编写能力;
二、需求分析
本次系统采用结构化的设计方法进行设计,是设计成一个相对封闭的单机运行系统,作为大众化的应用软件,其用户界面是决定软件质量的首要条件。
所以,界面设计是开发与设计的重点。
充分贯彻简单易用、美观大方的基本原则,采用快速开发平台netbeans进行开发,并结合access数据库完成数据的导入。
NetBeans 平台是一种可重复使用的框架用于简化其他桌面应用程式的开发。
当基于NetBeans 平台的应用被执行,平台主要类别的main方法便会被执行。
可用的模组会被放置在存储器中,并且开始执行任务。
通常模组会只在被需
要时,其代码才会被装进记忆。
应用程式能动态安装模组。
任何应用程式能包括更新模组,允许用户申请下载的应用程式升级和加入新功能。
这样安装,升级以及新发并行不必迫使用户每次再下载整个应用程式。
整个 Netbeans 平台提供对桌面应用程式常用的服务,允许开发者集中于仅限于他的应用程式的逻辑设计。
Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库文件种,便于用户的操作和管理。
Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。
Access是一个可视化工具,是风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。
系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。
Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。
Access支持ODBC(开发数据库互连,Open Data Base Connectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等
二、设计正文
一般备忘录系统由三个模块组成:(1)登录模块,由于我们学的还不到位,暂时只能做日常记事这一个模块
日常记事模块:该模块提供对个人日常生活,工作等事件的备忘功能,主要是提供对日常生活事件的录入.删除和查询功能。
其中,记录的信息主要包括事件的日期.事件标题和事件内容等。
日常记事管理模块功能树状图。
四.软件测试
(写出测试用例,该名词请自己网上查什么意思,不解释)五.心得体会
每位同学介绍自己做了什么,写各自的心得体会,要求文字简洁,忌空话套话。
六.参考文献
即查找参考了什么网上和书本资料,不要列虚的。