2009级计算机网络专业《Java程序设计》实训报告
包头职业技术学院计算机与信息工程系
《Java
实
训
报
告
姓 名:马宇航
专 业:计算机网络
班 级:709132
指导教师:白学敏
时 间:13—15周
地 点:503机房
- 1 - 程序设计》
2009级计算机网络专业《Java程序设计》实训报告
目录
一、实训目的 ..................................... - 3 -
二、实训内容及过程 ............................... - 3 -
2.1、案例提出 ................................. - 3 -
2.2、案例分析 ................................. - 3 -
(1)类的设计 ................................. - 3 -
(2)界面设计 ................................. - 3 -
(3)数据库设计 ............................... - 4 -
2.3、案例设计 ................................. - 4 -
(1)数据库设计 ............................... - 4 -
(2)类的设计 ................................. - 4 -
(3)编译、执行 ............................... - 5 -
三、实训总结 ..................................... - 6 -
四、附录 ......................................... - 7 -
4.1、Publication类 ............................ - 7 -
4.2、Book类 ................................... - 9 -
4.3、Media类 ................................. - 10 -
4.4、Database类 .............................. - 11 -
4.5、Manager类 ............................... - 13 -
4.6、PMS类 ................................... - 19 -
- 2 -
2009级计算机网络专业《Java程序设计》实训报告
一、实训目的
1.复习、巩固Java程序设计的基础知识,进一步加深对Java语言的理解和掌握。
2.通过本次实训,使学生能够了解运用Java语言开发实用程序的一般流程。
3.实训课程为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力。
二、实训内容及过程
2.1、案例提出
设计一个出版物管理系统,主要是对出版物进行分门别类的管理,提高工作效率。 本系统可涉及若干出版物类型(包括图书、音像等)并实现对这些出版物的常规管理,包括插入、删除、查找及显示记录。
2.2、案例分析
(1)类的设计
按照面向对象设计模式,应该对出版物所具有基本特征进行抽象,形成基类Publication。对具体出版物在进行继承比如图书类Book,音像类Media。
(2)界面设计
采用命令行提示符作为操作界面。
- 3 -
2009级计算机网络专业《Java程序设计》实训报告
(3)数据库设计
设计一个用于存储出版物的数据库PMS。
2.3、案例设计
(1)数据库设计
在Access中创建一个数据库PMS.mdb,该数据库文件的存储位置是“D:\Java Work\ch9\PMS\DB\PMS.mdb”
设置授权模式:
登录名称:Admin
密码:20080808
在数据库中添加两个表book和media用于保存图书和音像类型出版物。
book表 media表
Isbn 文本 isrc 文本 name 文本 name 文本 author 文本 author 文本 editor 文本 publisher 文本 publisher 文本 copyright 数字 edition 数字 price 数字 copyright 数字
price 数字
(2)类的设计
①出版物类Publication
属性:String name
String author
String publisher
int copyright
- 4 -
2009级计算机网络专业《Java程序设计》实训报告
float price
方法:
构造方法初始化所有属性。
访问器:getname()、getauthor()、getpublisher()、getcopyright()、getprice() 设置器:setname()、setauthor()、setpublisher()、setcopyright()、setprice() 输出基本信息tostring()
②图书类Book(出版物的子类)
属性:String isbn
String editor
int edition
方法:
构造方法
3个属性的设置器及访问器
tostring()
③音像类Media(出版物的子类)
属性:String isrc
方法:
构造方法。
isrc的设置器及访问器。
tostring()
④数据库类Database
⑤管理类Manager
⑥主类PMS
(3)编译、执行
编写完上述源程序后,用javac对各个源文件分别进行编译。
javac Publication.java
javac Book.java
javac Media.java
javac Database.java
javac Manager.java
- 5 -
2009级计算机网络专业《Java程序设计》实训报告
javac PMS.java
执行完后,将生成各个类的.class字节码文件,在用java执行主类
java PMS
三、实训总结
紧张忙碌的学期生活即将告一段落,通过这一学期的学习使我了解到了自己的不足及将要努力的方向。特别是在实习过程中出现的种种问题,自己都不能独立完成,令我更深知这一学科的重要性及自己欠缺的地方,对于这些问题在以后的学习当中我会更加注意并加以改正。
对于专业知识掌握不足的问题也在实习当中暴露无疑,这也说明我们对专业知识的掌握还不够准确细致,没有将这一学科的精髓掌握领悟,这也将是我们今后学习的一个重要的方向。在Java专业术语的掌握以及运用上同学们普遍表现力不从心,这也暴露了我们上课的时候不够认真努力。导致程序不明确混乱不堪。 在这次实习中还暴露了一个重要的问题,学生普遍动手能力不强上机操作时不知该如何进行。在这里也建议指导教师在今后的教学当中适当更改一下教学方法,多增添一些动手操作的部分。多从实际出发为同学讲解切实可用的专业知识,多增添一些与社会实际接轨的课题供同学们学习研究。会大大增加以后我系学生的就业几率。
综上所述:通过这次实习使我懂得很多问题,也认识到了不足的地方。但这些都不是主要的,通过我在大学三个学期的学习我更加理解我们不能找到理想工作的原因,我们是一所高等职业技术学院本着为社会培养高等技术人才的理念进行各方面的教学,但却没有从实际出发培养切实可用的人才,全部都是只能纸上谈兵没有一点实际能力。我系的教师素质是毋庸置疑的,但普遍表现的通病就是千篇一律照搬书本上的东西,没有从实际着想社会需要什么我们应该去学什么。书本知识固然重要但也只是理想状态下的东西,而实际动手的时候出现的问题学生又手足无措。现在的社会需要的不是“八股”式的书呆子,因此学生建议今后的教学应从实际需要出发,真正发挥出我们对口专业的优势。
- 6 -
2009级计算机网络专业《Java程序设计》实训报告
四、附录
4.1、Publication类
class Publication
{
private String strname="";
private String strauthor="";
private String strpublisher="";
private String strcopyright="";
private String strprice="";
public Publication(String name,String author,String copyright,String price)
{
strname=name; //构造器
strauthor=author;
strpublisher=publisher;
strcopyright=copyright;
strprice=price;
}
public Publication()
{
}
public String getname() //方法
{
return strname;
}
public String getauthor()
{
return strauthor;
- 7 - publisher,String
2009级计算机网络专业《Java程序设计》实训报告
}
public String getpublisher()
{ } return strpublisher;
public String getcopyright()
{ } return strcopyright;
public String getprice()
{ } return strprice;
public void setname(String name) //显示参数要被声明为方法声明部分 {
strname=name;
}
public void setauthor(String author)
{
strauthor=author;
}
public void setpublisher(String publisher)
{
strpublisher=publisher;
}
public void setcopyright(String copyright)
{
strcopyright=copyright;
}
public void setprice(String price)
{
strprice=price;
- 8 -
2009级计算机网络专业《Java程序设计》实训报告
}
public String toString()
{ String information="name=" + strname + ", author=" + strauthor + ", publisher=" + strpublisher + ", copyright" + strcopyright + ", price=" + strprice;
return information;
} }
4.2、Book类
class Book extends Publication
{
private String strisbn="";
private String streditor="";
private String stredition="";
public Book(String isbn,String editor,String edition,String name,String author,String publisher,String copyright,String price)
{super(name,author,publisher,copyright,price); strisbn=isbn;
streditor=editor;
{ } stredition=edition;} public Book()
public String getisbn()
{
return strisbn;
}
public String geteditor()
{
- 9 -
2009级计算机网络专业《Java程序设计》实训报告
return streditor;
}
public String getedition()
{
return stredition;
}
public void setisbn(String isbn)
{
strisbn=isbn;
}
public void seteditor(String editor)
{
streditor=editor;
}
public void setedition(String edition)
{
stredition=edition;
}
public String toString()
{
String str = super.toString();
str +=", isbn=" + strisbn + ", editor=" + streditor + ", edition=" + stredition;
return str;
}
}
4.3、Media类
class Media extends Publication
{
private String strisrc="";
- 10 -
2009级计算机网络专业《Java程序设计》实训报告
public Media(String isrc,String name,String author,String publisher,String copyright,String price)
{super(name,author,publisher,copyright,price);
strisrc=isrc;
}
public Media()
{
}
public String getisrc()
{
return strisrc;
}
public void setisrc(String isrc)
{
strisrc=isrc;
}
public String toString()
{
String str = super.toString();
str +=", isrc=" + strisrc;
return str;
}
}
4.4、Database类
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
class Database{
- 11 -
2009级计算机网络专业《Java程序设计》实训报告
} public static ResultSet execSQL(String sqlCmd) throws SQLException{ //登录数据库所须信息 String url="jdbc:odbc:PMS"; String user="Admin"; String password="20080808"; try { } catch(ClassNotFoundException ce) { } return null; System.out.println("Driver not found.Quit?"); System.exit(0); Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con=DriverManager.getConnection(url,user,password); Statement st=con.createStatement(); if(st.execute(sqlCmd)) { } con.close(); return st.getResultSet();
public static void outputResult(ResultSet rs,String table) throws SQLException {
//从不同的数据表中输出不同的信息
if (table.equals("book")) { while(rs.next()) { System.out.println("ISBN: "+rs.getString("isbn")); System.out.println("Name: "+rs.getString("name")); System.out.println("Author: "+rs.getString("author")); System.out.println("Editor: "+rs.getString("editor")); System.out.println("Publisher: "+rs.getString("publisher")); System.out.println("Edition: "+rs.getString("edition")); System.out.println("Copyright: "+rs.getString("copyright"));
- 12 -
2009级计算机网络专业《Java程序设计》实训报告
} } } System.out.println("Price: "+rs.getString("price")); else if(table.equals("media")) { } else { } System.out.println("Nothing to display?"); } while(rs.next()) { } System.out.println("ISRC: "+rs.getString("isrc")); System.out.println("Name: "+rs.getString("name")); System.out.println("Author: "+rs.getString("author")); System.out.println("Publisher: "+rs.getString("publisher")); System.out.println("Copyright: "+rs.getString("copyright")); System.out.println("Price: "+rs.getString("price"));
4.5、Manager类
import java.io.BufferedReader;
import java.io.InputStreamReader; import java.io.IOException; import java.sql.ResultSet;
import java.sql.SQLException; class Manager
{
public static String getInput() {
String cmd=new String();
try {
- 13 -
2009级计算机网络专业《Java程序设计》实训报告
BufferedReader input= new BufferedReader(new InputStreamReader(System.in));
cmd=input.readLine();
}
catch(IOException ioe) {
}
}
public static boolean addBook() { Book book=new Book(); System.out.print("Input isbn: "); book.setisbn(getInput()); System.out.print("Input name: "); book.setname(getInput()); System.out.print("Input author: "); book.setauthor(getInput()); System.out.print("Input editor: "); book.seteditor(getInput()); System.out.print("Input publisher: "); book.setpublisher(getInput()); System.out.print("Input edition: "); book.setedition(getInput()); System.out.print("Input price: "); book.setprice(getInput()); sqlCmd="insert into Book return cmd; System.out.println("IOExeption occurred?"); String
values('"+book.getisbn()+"','"+book.getname()+"','"+book.getauthor()+"','"+book.geteditor()+"','"+book.getpublisher()+"','"+book.getedition()+"','"+book.getcopyright()+"','"+book.getprice()+"')";
try { Database.execSQL(sqlCmd);
- 14 -
2009级计算机网络专业《Java程序设计》实训报告
} System.out.println("Insert succeeded?"); return true; catch (SQLException sqle) { System.out.println("Insert failed?"); } } public static boolean findBook() {System.out.print("input name:"); return false;
String name=getInput();
String sqlCmd="select * from Book where name='"+name+"'"; try {
ResultSet rs=Database.execSQL(sqlCmd);
System.out.print("Book found are:"); Database.outputResult(rs,"Book"); return true;
}
catch (SQLException sqle)
{
System.out.println("Search failed?");
}
} return false;
public static boolean deleteBook()
{ System.out.print("input name:");
String name=getInput();
String sqlCmd="delete from Book where name = '"+name+"'"; try {
Database.execSQL(sqlCmd);
System.out.println("Insert succeeded?");
- 15 -
2009级计算机网络专业《Java程序设计》实训报告
return true;
}
catch (SQLException sqle) {
System.out.println("Insert failed?"); return false;
}
}
public static boolean displayAllBooks() {
String sqlCmd="select * from Book"; try {
ResultSet rs=Database.execSQL(sqlCmd); System.out.println("ALL BOOKS ARE:");
Database.outputResult(rs,"Book"); return true; } catch (SQLException sqle)
{
System.out.println("Insert failed?"); return false; } }
public static boolean addMedia()
{ Book book=new Book(); System.out.print("Input isbn: "); book.setisbn(getInput()); System.out.print("Input name: "); book.setname(getInput()); System.out.print("Input author: "); book.setauthor(getInput()); System.out.print("Input editor: ");
- 16 -
2009级计算机网络专业《Java程序设计》实训报告
book.seteditor(getInput()); System.out.print("Input publisher: "); book.setpublisher(getInput()); System.out.print("Input edition: "); book.setedition(getInput()); System.out.print("Input price: "); book.setprice(getInput()); String sqlCmd="insert into Book values('"+book.getisbn()+"','"+book.getname()+"','"+book.getauthor()+"','"+book.geteditor()+"','"+book.getpublisher()+"','"+book.getedition()+"','"+book.getcopyright()+"','"+book.getprice()+"')";
try { } catch (SQLException sqle) { System.out.println("Insert failed?"); } } return false; Database.execSQL(sqlCmd); System.out.println("Insert succeeded?"); return true;
public static boolean findMedia()
{System.out.print("input name:"); String name=getInput(); String sqlCmd="select * from Book where name='"+name+"'"; try { ResultSet rs=Database.execSQL(sqlCmd); System.out.print("Book found are:"); Database.outputResult(rs,"Book"); return true;
- 17 -
2009级计算机网络专业《Java程序设计》实训报告
} catch (SQLException sqle)
{
}
public static boolean deleteMedia()
{ System.out.print("input name:");
String name=getInput();
String sqlCmd="delete from Book where name = '"+name+"'"; try {
Database.execSQL(sqlCmd);
System.out.println("Insert succeeded?"); return true; System.out.println("Search failed?"); } return false;
}
catch (SQLException sqle) {
System.out.println("Insert failed?"); return false;
}
}
public static boolean displayAllMedias()
{
String sqlCmd="select * from Book"; try {
ResultSet rs=Database.execSQL(sqlCmd);
System.out.println("ALL BOOKS ARE:");
Database.outputResult(rs,"Book"); return true;
}
catch (SQLException sqle)
{
- 18 -
2009级计算机网络专业《Java程序设计》实训报告
System.out.println("Insert failed?"); return false;
}
}
}
4.6、PMS类
public class PMS
{ public static void main(String[] args) { int ocount=1; int icount=1; //外层菜单 while(ocount!=0) { printMenu(); try { } catch (NumberFormatException e) { } switch (ocount) { case 1: icount=1; System.out.println("Invalid input?"); continue; ocount=Integer.parseInt(Manager.getInput()); //内层菜单 while(icount!=0) { printBookMenu(); try { icount=Integer.parseInt(Manager.getInput());
- 19 -
2009级计算机网络专业《Java程序设计》实训报告
} catch (NumberFormatException e) { } switch(icount) { case 1: Manager.addBook(); break; case 2: Manager.findBook(); break; case 3: Manager.deleteBook(); break; case 4: Manager.displayAllBooks(); break; case 0: break; defult: break; } System.out.println("Invalid input?"); continue; } break; case 2:
icount=1;
//内层菜单 while(icount!=0) { printBookMenu(); try { } catch (NumberFormatException e) { } switch(icount) { case 1: Manager.addBook(); break; case 2: Manager.findBook(); break; case 3: Manager.deleteBook(); break; case 4: Manager.displayAllBooks(); break; case 0: break;
- 20 - icount=Integer.parseInt(Manager.getInput()); System.out.println("Invalid input?"); continue;
2009级计算机网络专业《Java程序设计》实训报告
} } defult: break; } } break;
public static void printMenu()
{ System.out.println("------------------------------------------------
");
System.out.println("----- 1. Book -----");
System.out.println("----- 2. Media -----");
System.out.println("----- 0. exit -----");
System.out.println("------------------------------------------------
-----------------");
}
public static void printBookMenu()
{ System.out.println("------------------------------------------------
-----------------");
System.out.println("----- 1. add a book -----");
System.out.println("----- 2. find a book -----");
System.out.println("----- 3. delete a book -----");
System.out.println("----- 4. display all books -----");
System.out.println("----- 0. back -----");
- 21 -
2009级计算机网络专业《Java程序设计》实训报告
System.out.println("------------------------------------------------
-----------------");
}
public static void printMediaMenu()
{ System.out.println("------------------------------------------------
-----------------");
System.out.println("----- 1. add a Media -----");
System.out.println("----- 2. find a Media -----");
System.out.println("----- 3. delete a Media -----");
System.out.println("----- 4. display all Media -----");
System.out.println("----- 0. back -----");
System.out.println("------------------------------------------------
-----------------");
}
- 22 -
石家庄学院习报告王荣传20xx0502027数学与信息科学系信息与计算科学专业本科一班崔永刚讲师姓名:学号:院系:专业:班级:指导…
Java程序设计实训报告实训名称图书管理系统实训专业计算机应用技术班级学号090443220姓名高宇国指导教师侯丽敏20xx年12…
摘要随着自动化技术的不断发展电子产业对工艺生产的要求越来越高本次实训主要熟悉手工焊锡的常用工具的使用及其与修理手工电烙铁的焊接技术…
辽宁建筑职业学院Java高级应用实训报告课题名称婚庆公司网站专业软件技术班级xxxxxxxxxx学号姓名xxxx指导教师xxx二O…
PINGDINGSHANUNIVERSITYJava专业实训项目报告题目超市管理系统院系软件学院专业年级10级软件工程java工程…
实训报告书课程:Java项目实训专业班级:学生姓名:学号:指导教师:完成日期:重庆电子工程职业学院软件学院目录目录........…
JavaWeb实习报告一、实习目的与任务为了锻炼我们的实践动手能力,提高我们分析问题、解决问题的能力,培养我们的工作意识和团队合作…
辽宁建筑职业学院Java高级应用实训报告课题名称婚庆公司网站专业软件技术班级xxxxxxxxxx学号姓名xxxx指导教师xxx二O…
徐州工程学院管理学院实验报告实验课程名称数据结构与算法实验地点经济管理教学实验中心20xx年3月至20xx年6月专业信息管理与信息…
Java程序设计实训报告实训名称图书管理系统实训专业计算机应用技术班级学号090443220姓名高宇国指导教师侯丽敏20xx年12…
毕业实习实习名称:实习时间:学生姓名:学院名称:专业名称:班级名称:学号:指导教师:20xx03/04-20xx04/05董莹电子…