教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 建筑文档 >

2015秋-《面向对象程序设计》-实验指导书(3)

来源:网络收集 时间:2025-09-20
导读: return \ \ } public void run() { while(true) { System.out.println(this); if(--countDown == 0) return; } } public static void main(String[] args) { for(int i = 1; i (1)编写线程实现两个线程,交互输出输
< 10; i++) { System.out.println(\ } } } (2)从Runnable创建线程 public class RunnableThread implements Runnable { private int countDown = 5; public String toString() {

return \ \ } public void run() { while(true) { System.out.println(this); if(--countDown == 0) return; } } public static void main(String[] args) { for(int i = 1; i <= 5; i++) new Thread(new RunnableThread(), \ // Output is like SimpleThread.java } } (3)线程优先级 public class SetPriority extends Object { private static Runnable makeRunnable() { Runnable r = new Runnable() { public void run() { for (int i = 0; i < 5; i++) { Thread t = Thread.currentThread(); System.out.println(\ + \ try { Thread.sleep(2000); } catch (InterruptedException x) { } } } }; return r; } public static void main(String[] args) { Thread threadA = new Thread(makeRunnable(), \ threadA.setPriority(8); threadA.start(); Thread threadB = new Thread(makeRunnable(), \ threadB.setPriority(2); threadB.start(); Runnable r = new Runnable() { public void run() { Thread threadC = new Thread(makeRunnable(), \ threadC.start(); } }; Thread threadD = new Thread(r, \ threadD.setPriority(7); threadD.start(); try { Thread.sleep(3000); } catch (InterruptedException x) { } threadA.setPriority(3); System.out.println(\ + threadA.getPriority()); } } (4)线程同步 public class StaticSync extends Object { private static int nextSerialNum = 10001; public static synchronized int getNextSerialNum() { int sn = nextSerialNum; try { Thread.sleep(1000); } catch ( InterruptedException x ) { } nextSerialNum++; return sn; } private static void print(String msg) { String threadName = Thread.currentThread().getName(); System.out.println(threadName + \ } public static void main(String[] args) { try { Runnable r = new Runnable() { public void run() { print(\ getNextSerialNum()); } }; Thread threadA = new Thread(r, \ threadA.start(); Thread.sleep(1500); Thread threadB = new Thread(r, \ threadB.start(); Thread.sleep(500); Thread threadC = new Thread(r, \ threadC.start(); Thread.sleep(2500); Thread threadD = new Thread(r, \ threadD.start(); } catch ( InterruptedException x ) { // ignore } } } 5.5实验过程

(1)编写线程实现两个线程,交互输出输出顺序不定,参考如下

(2)要求编写一个多线程的应用程序,有两个客户(Custemer)向银行同一个帐号存款,每人分三次每次存100元,帐号原来的余额为0元,要求两个客户存款的动作可以同时执行(以多线程方式执行),并且最终的帐号余额为600元(采用多线程同步的方法,同步的关键字为:synchronized) 程序框架如下: class CBank //银行类 {

private static int sum=0; //表示帐号余额

①编写 add(int n)方法,实现向帐号存款 }

class CCustomer extends Thread // CCustomer类,继承自Thread类 {

②重新编写线程类void run()方法,调用银行类的add方法 }

public class Demo {

public static void main(String args[]) {

③编写代码,启动两个客户线程 } }

运行界面参考:

5.6思考问题

(1) 什么是线程,为什么要多线程? (2) 线程的两种创建方法总结。 (3) 线程同步问题总结。 (4) 探讨几个经典线程问题,生产者---消费者问题、哲学家思考问题。

实验六:综合应用实验

6.1实验性质

综合性实验(4学时)

6.2实验目的

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。本实验的目的在于理解和掌握 JDBC 的结构以及 JDBC 与数据库应用编成之间的关系,掌握 DriverManage、Connection、Statement等数据库类的常用方法。重点是在此基础之上编写一个带有数据库访问、具有综合服务功能的小型信息系统,在系统中实现数据的录入、修改、删除等操作,使学生进一步掌握Java应用编程的方法。

6.3实验任务

1) 2) 3) 4) 5)

观察如何利用ODBC-JDBC桥访问数据库 体会如何进行数据库相关的update操作 查看Statement的使用方法

编写一个具有增加、删除、修改功能,带有GUI界面的订单管理程序 回答思考问题

6.4实验准备

按照以下操作方式设计数据库访问,并将代码输入NetBeans中,若代码存在错误请进行修改,查看输出成果,并对各行语句进行解释,将解释内容和运行结果写入实验报告。 (1)利用ODBC-JDBC桥读取Access数据库 实现Java读取Access数据库。首先设置ODBC,在“控制面板”的“管理工具”中找到“数据源(ODBC)”,在出现的“ODBC数据源管理器”窗口中选择“系统DSN”(必须是系统DSN)。

单击“添加”按钮,在“创建新数据源”对话框中选择“Microsoft Access Driver”,如下图。

设置系统DSN

2015秋-《面向对象程序设计》-实验指导书(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/682636.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)