当前位置:首页 >> 英语 >>

1102


面向对象程序设计上机题

信息科学与工程学院

将代码贴在各题下面,将运行结果贴在各题下面。 1、 课本P248 第4题。 代码:
import java.io.*; public class timetest { public static void main(String[] args) throws Exception{ F

ileInputStream File=new DataInputStream Data=new int count=0; byte B; try{ while(true) { B=Data.readByte(); if(B==65||B==97) count++; } } catch( Exception e) { System.out.println("a和A出现的总次数为:" + count++); } } } FileInputStream ("myFile.txt"); DataInputStream(File);

截图:

1

面向对象程序设计上机题

信息科学与工程学院

2、

课本P248 第6题。 代码:

import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.RandomAccessFile; public class asf { public static void main(String[] args) { FileOutputStream fos=null; FileInputStream fis=null; File f=new File("E:\\a.txt"); //判断文件是否存在 if(!f.exists()) { try { f.createNewFile(); //如果文件不存在则创建此文件 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } else{ System.out .println("此文件已创建"); System.out .println("请输入10个整数(0~9)"); } InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); try { fos=new FileOutputStream(f); String s=br.readLine();//从键盘输入数据 fos.write(s.getBytes());//将数据写入到文件里 fos.close(); RandomAccessFile fps = new RandomAccessFile(f,"r"); //定义一个字节数组,相当于缓存 byte bytes[]=new byte[100];

2

面向对象程序设计上机题
int n=0;//实际读取到的字节数 fps.skipBytes(4);

信息科学与工程学院

System.out.println("指针位置为:" + fps.getFilePointer()); n = fps.read(bytes); String str = new String(bytes,5,n); System.out.println("读出数据为"+str);//显示文件内容 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }

截图:

3

面向对象程序设计上机题

信息科学与工程学院

3、

课本P248 第16题。并且按三层架构模式编程实现以下功能: (1) 实现对Customer信息的增加、修改、删除、查询, (先往 Customer表中增加一些测试记录,然后再修改、删除、查 询) ;

提示: (a) 按16题要求,在Access中创建2个表并建立关联(主外键关联); Order表:

Customer表:

数据表之间的关系: (b) 创建一个CustomerGUI类,作为界面类,如下图所示界面。

在这样一个界面,可以实现新增、修改、删除、查询任务。

4

面向对象程序设计上机题

信息科学与工程学院

(c) 创建一个Customer实体类,用来描述客户的基本信息。基本上,只有属性定 义。
public class Customer { private String CustomerName; private String CustomerID; public String getName() { return CustomerName; } public void setName(String name) { this.CustomerName = name; } public String getAddress() { return CustomerID; } public void setAddress(String ID) { this.CustomerID = ID; } }

(d) 创建一个DB类,提供connectDB()、disconnectDB()等方法。甚至还可以定义 一些其他方法,如:executeSQL(), executeUpdate(), executeDelete(), executeInsert()等。

5

面向对象程序设计上机题

信息科学与工程学院

import java.sql.*; public class DB { static String url ="jdbc:odbc:myDatasource"; static Connection con; public static Connection getCon() { return con; } public static void setCon(Connection con) { DB.con = con; } public static Connection connectDB() { try { Class.forName("sum.jdbc.odbc.JdbcOdbcDriver"); con = DriverManager.getConnection(url,"",""); } catch(ClassNotFoundException e) { System.out.println(e); } catch(SQLException e) { System.out.println(e); } return con; }

6

面向对象程序设计上机题
public static void disconnectDB() { try { con.close(); } catch(SQLException e) { System.out.println(e); } } }

信息科学与工程学院

(e) 创建一个CustomerDAL类,提供add、update、delete、findAll、findByName 等方法,每个方法里面,都要完成该方法所要做的事情。一般过程是:调用 DB类的connectDB方法?然后执行sql命令?调用DB类的disconnectDB方法
import java.sql.*; public class CustomerDAL { Statement stmt = null; void add(String sql) { try { DB.connectDB(); stmt = DB.getCon().createStatement(); stmt.executeUpdate(sql); } catch(SQLException e) { System.out.println(e.getMessage()); e.printStackTrace(); } finally { try { if(stmt!=null) stmt.close();

7

面向对象程序设计上机题

信息科学与工程学院

if(DB.getCon()!=null) DB.disconnectDB(); } catch(SQLException e) { System.out.println(e.getMessage()); e.printStackTrace(); } } } void update(String sql) { try { DB.connectDB(); stmt = DB.getCon().createStatement(); stmt.executeUpdate(sql); } catch(SQLException e) { System.out.println(e.getMessage()); e.printStackTrace(); } finally { try { if(stmt!=null) stmt.close(); if(DB.getCon()!=null) DB.disconnectDB(); } catch(SQLException e) { System.out.println(e.getMessage()); e.printStackTrace(); } } } void delete(String sql) { try

8

面向对象程序设计上机题
{ DB.connectDB();

信息科学与工程学院

stmt = DB.getCon().createStatement(); stmt.executeUpdate(sql); } catch(SQLException e) { System.out.println(e.getMessage()); e.printStackTrace(); } finally { try { if(stmt!=null) stmt.close(); if(DB.getCon()!=null) DB.disconnectDB(); } catch(SQLException e) { System.out.println(e.getMessage()); e.printStackTrace(); } } } }

(f) 创建一个CustomerBLL类, 这里提供add、 update、 delete、 findAll、 findByName 等方法。这里的方法,都要调用CustomerDAL类中对应的方法。

import java.sql.*; public class CustomerDAL { static Customer aCustomer; static String url="jdbc:odbc:myDataSource"; static Connection aConnection; static Statement aStatement; static String name; static String sex; static int age;
9

面向对象程序设计上机题 static String address;

信息科学与工程学院

/*添加一个新记录*/ public static void add(Customer aCustomer)throws DuplicateException{ name=aCustomer.getname(); sex=aCustomer.getsex(); age=aCustomer.getage(); address=aCustomer.getaddress(); String sql="INSERT INTO CustomerT(Name,SEX,Age,Address)" + "VALUES ('"+ name+"','"+ sex+"','"+ age+"','"+ address+"')"; System.out.println(sql); try{ Customer c=findAll(); throw(new DuplicateException("该用户已存在")); } catch(NotFoundException e){ try{ int result=aStatement.executeUpdate(sql); } catch(SQLException ee){ System.out.println(ee); } } } /*更新指定的记录*/ public static void update(Customer NotFoundException{ name=aCustomer.getname(); sex=aCustomer.getsex(); age=aCustomer.getage(); address=aCustomer.getaddress();

aCustomer)throws

String sql="Update CustomerT SET Name='" + name +"'," +" Sex='" +sex+"'" +" Age='" + age +"'" + " Address='" +address+"'"; try{
10

面向对象程序设计上机题

信息科学与工程学院

int result=aStatement.executeUpdate(sql); } catch(SQLException e){ System.out.println(e); } } /*删除指定的记录*/ public static void delete(Customer NotFoundException{ name=aCustomer.getname(); String sql="DELTTE FROM + "'"; try{ int result=aStatement.executeUpdate(sql); } catch(SQLException e){ System.out.println(e); } } //查询CustomerT表中的所有的信息 public static Customer findAll(){ String url; Connection conn=null; Statement stmt=null; String contactID; String name; //生成查询语句 String sqlx="select contactID,name from contactT"; /*连接数据库并执行查询语句,释放连接*/ try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //指定myDataSource数据源 url="jdbc:odbc:myDataSource"; conn=DriverManager.getConnection(url,"",""); //创建一个Statement实例
11

aCustomer)throws

CustomerT" + "WHERE name='" + name

面向对象程序设计上机题

信息科学与工程学院

stmt=conn.createStatement(); //执行SQL查询语句sqlx ResultSet rs=stmt.executeQuery(sqlx); //从结果集合rs读取数据 while(rs.next()){ contactID=rs.getString("contactID"); name=rs.getString("name"); System.out.println(contactID+ "," +name); } rs.close(); } catch(ClassNotFoundException e){ System.out.println(e); } catch(SQLException e){ System.out.println(e.getMessage()); //显示异常信息 e.printStackTrace(); } finally{ try{ //释放Statement所用的资源 if(stmt!=null) stmt.close(); if(conn!=null) conn.close(); } catch(SQLException e){ System.out.println(e.getMessage()); e.printStackTrace(); } } return null;

} public void findByName(){ } public void findOrdersByCustomer(){

12

面向对象程序设计上机题 } }

信息科学与工程学院

(g) 在界面类中,调用CustomerBLL类中的相应方法完成任务。

public class CustomerBLL { public void add(){ Customer aCustomer=new Customer(); System.out.println("要添加的记录是:" + aCustomer.add()); } public void update(){ Customer aCustomer=new Customer(); System.out.println(" 要 更 新 的 aCustomer.update());









"

+

} public void delete(){ Customer aCustomer=new Customer(); System.out.println("要删除的记录是:" + aCustomer.delete); } public void findAll(){ Customer aCustomer=new Customer(); System.out.println("要查询的记录是:" + aCustomer.findAll); } }

(2)实现对Order信息的增加(往Order表中增加一些测试记录, 需要注意,Order记录跟Customer记录有关联,同上步骤a-g,只需完 成增加功能 ------ 提示:需要OrderGUI、Order实体类、OrderDAL、 OrderBLL等类, 可复用 DB 类的 connectDB、 disconnectDB 方法) ; (3) 查询Customer的订单信息(注意:需要体现类之间的1对多
13

面向对象程序设计上机题

信息科学与工程学院

关系) 。 ------ 提示:可以在(1)的CustomerGUI界面类中,增加一 个区域来显示查询结果。需要在CustomerBLL、CustomerDAL类中提 供一个findOrdersByCustomer() 方法,然后在CustomerGUI中调用 CustomerBLL类中的findOrdersByCustomer() 方法。

14


相关文章:
Leica1102全站仪实用操作方法
/ To Station ORTHO AUX GRID POLAR SHIFT + F6 (QUIT) 随时退出程序 August 2002CXB 20 of 25 China ARSC (HK) Limited Guidance for TCR1102 5.3 悬高...
1102班集体照
1​1​0​2​班​集​体​照 暂无评价|0人阅读|0次下载|举报文档谭鸿添 孔祥达 吴乾彬 彭诗明 陈茂贤 卢比 朱兆威 李春汇 林轩羽 覃俊瑜 陈...
UV1102II紫外可见分光光度计的标准操作规程
***有限公司质量管理体系文件 文件名:UV1102II型紫外可见分光光度计操作 规程 1 目的 建立 UV1102II 型紫外可见分光光度计的标准操作规程,确保设备正常运行,防止...
材料1102李勇
材料1102李勇_材料科学_工程科技_专业资料。课程设计说明书 题目 乙炔气瓶的设计 学院: 机 械 工 程学 院 专业: 材料成型及控制工程 班级:材料 1102 学号:16 ...
1102班级目标管理
1102班级目标管理_管理学_高等教育_教育专区。班级常规管理1102 班级目标管理 班级:1102 引言 建设班集体是班级工作中最主要的内容。为了培养我班同学在德、智、体...
DS1102E
[1] 500ps 2ns/div-50s/div, DS1102X 1-2-5 进制 ±50ppm(任何≥1ms 的时间间隔) 时间间隔(△T)测 单次:±(1 采样间隔时间+50ppm×读数+0.6ns)...
SIVX系列VR1102工程案例
北京华鼎恒业技术有限公司 产品案例 问题类型 SIVX 系列 VR1102 维护 项目名称 武汉和左高速 拟制人 汪先 【故障现象】 在 SIVX 的平台页面上,发现有 2 台 ...
项目设计合同1102
项目设计合同1102_其它_工作范文_实用文档。海南中海润戒毒医院综合建设项目 规划设计合同 甲方: 乙方:上海联创建筑设计有限公司 签订地点:海南海口市 合同编号: 签订...
恋爱谈久会变丑的星座女生!1102
恋爱谈久会变丑的星座女生!1102_随笔_生活休闲。恋爱谈久会变丑的星座女生!第一名:巨蟹座巨蟹座的女生谈恋爱久了之後重心会落到对方身上,逛街买衣服都是买另...
SSB入门机——DE1102
SSB入门机——DE1102_建筑/土木_工程科技_专业资料。SSB入门机——DE1102 收音机的目标市场是复杂而细化的, 形形色色的产品中既有几十元的普通收 音机, 也有...
更多相关标签:
hp1102 | hp1102打印机驱动 | k1102 | 1102身份证 | 110 | 1102什么星座 | gg1102 | 1102路 |