java实训报告

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 -

相关推荐