班级 计科二班 学号 20188425 姓名 IM
完成时间2019/10/24
评分等级
###实验任务详情:
完成火车站售票程序的模拟。
###要求:
(1)总票数1000张;
(2)10个窗口同时开始卖票;
(3)卖票过程延时1秒钟;
(4)不能出现一票多卖或卖出负数号票的情况。
###实验代码

package 实验室;

public class MyThread implements Runnable {
private int ticket=1000;
public void run() {
for(int i=0;i<10000;i++) {
this.sale1();
}
}
public synchronized void sale1() {
if(ticket>0) {
try {
Thread.sleep(1000);
}catch(InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName()+"卖票:ticket="+ticket--);
}
}
} package 实验室; public class ticket {
public static void main(String args[]) {
MyThread my=new MyThread();
Thread t1 = new Thread(my,"窗口A");
Thread t2 = new Thread(my,"窗口B");
Thread t3 = new Thread(my,"窗口C");
Thread t4 = new Thread(my,"窗口D");
Thread t5 = new Thread(my,"窗口E");
Thread t6 = new Thread(my,"窗口F");
Thread t7 = new Thread(my,"窗口G");
Thread t8 = new Thread(my,"窗口H");
Thread t9 = new Thread(my,"窗口I");
Thread t10 = new Thread(my,"窗口J");
t1.start();
t2.start();
t3.start();
t4.start();
t5.start();
t6.start();
t7.start();
t8.start();
t9.start();
t10.start();
}
}

运行结果截图:

###实验总结:
这个编程还比较简单,就是用了一个同步代码块,结合书上的知识点即可解决。后续还需将此问题所需代码加以改进,更加智能化。
###学习总结
####学到了什么
#####Java IO
1.学习了IO包中的文件类,File类,其构造方法为:

public File(String pathname)  → 实例化File类的时候,必须设置好路径。

创建一个新文件:

pakeage org.jeff.demo.filedemo;
import java.io.File;
import java.io IOException;
public class File Demo01{
public static void main(String args[]){
File f = new File("d:\\test.txt");
try{
f.createNewFile();
}catch(IOException e){
e.printStackTrace();
}
}
}

######Windows 中使用反斜杠表示目录的分隔符:“\”。
######Linux 中使用正斜杠表示目录的分隔符:“/”。

2.学习了RandomAccessFile类(随机读取)
######使用rw(读写)的方式声明RandomAccessFile对象时,要写入的文件不存在,系统将自动创建。

####学习不足
不能举一反三,仅能依葫芦画瓢。
不能完全自主闭卷完成作业
####学习改进:
保持独立思考的习惯
反复写一个类型的代码,直到完全弄懂此类代码。

实验报告(七)&第九周课程总结的更多相关文章

  1. JAVA实验报告及第九周总结

    Java第九周作业 实验报告七 实验任务详情: 完成火车站售票程序的模拟. 要求: (1)总票数1000张: (2)10个窗口同时开始卖票: (3)卖票过程延时1秒钟: (4)不能出现一票多卖或卖出负 ...

  2. 第九周课程总结 & 实验报告(七)

    第九周课程总结 一.多线程 1.线程的状态 2.线程操作的相关方法 二.Java IO 1.操作文件的类---File ()基本介绍 ()使用File类操作文件 .RandomAccessFile类 ...

  3. 第九周学习总结&实验报告七

    实验报告: 实验任务详情: 完成火车站售票程序的模拟. 要求: (1)总票数1000张: (2)10个窗口同时开始卖票: (3)卖票过程延时1秒钟: (4)不能出现一票多卖或卖出负数号票的情况. 实验 ...

  4. java实验报告&第三周学习总结

    实验报告: 实验1:求水仙花数在C语言中求水仙花数是一个复杂且长的代码,在java中可以通过简单的代码来实现操作,找出水仙花数: 图例如下: 试验2:求13+23-33+43-53.........9 ...

  5. JAVA实验报告及第八周总结

    JAVA第八周作业 实验报告六 实验一 编写一个类,在其main()方法中创建一个一维数组,在try字句中访问数组元素,使其产生ArrayIndexOutOfBoundsException异常.在ca ...

  6. 实验报告2&&第四周课程总结

    实验报告: 写一个名为Rectangle的类表示矩形.其属性包括宽width.高height和颜色color,width和height都是double型的,而color则是String类型的.要求该类 ...

  7. 第九周课程总结&实验报告(七)

    实验任务详情: 完成火车站售票程序的模拟. 要求: (1)总票数1000张: (2)10个窗口同时开始卖票: (3)卖票过程延时1秒钟: (4)不能出现一票多卖或卖出负数号票的情况. 实验代码 pac ...

  8. 第九周课程总结&实验报告七

    实验任务详情: 完成火车站售票程序的模拟. 要求: (1)总票数1000张: (2)10个窗口同时开始卖票: (3)卖票过程延时1秒钟: (4)不能出现一票多卖或卖出负数号票的情况. package ...

  9. 第九周总结&实验报告七

    小结:这周请了一天的假,所以回来的时候有些知识点跟不上,不过在第二节课学到了关于IO的知识很重要,对于这次的实验也有些吃力,这周的知识点主要集中在书上,在各种不同条件下学习运用什么样的代码.   一. ...

随机推荐

  1. 9、numpy——数组操作

    Numpy 中包含了一些函数用于处理数组,大概可分为以下几类: (1)修改数组形状 (2)翻转数组 (3)修改数组维度 (4)连接数组 (5)分割数组 (6)数组元素的添加与删除 1.修改数组形状 函 ...

  2. linq函数All,Any,Aggregate说明

    int[] arrInt; arrInt = ,,,,,,}; );// 所有元素都满足条件,false );// 有任一元素满足条件,true , , , , , , , , }; var quer ...

  3. bounds与frame的区别及setBounds的使用

    转自http://www.cocoachina.com/ios/20140925/9755.html 在iOS开发中经常遇到两个词Frame和bounds,本文主要阐述Frame和bound的区别,尤 ...

  4. day02 循环、格式化输出、运算符、编码

    01 昨日内容回顾 python2x python3x区别: python2x:源码重复,不规范. python3x:源码规范,优美,清晰,简单. 编译型:将代码一次性全部转化成字节码. 代表语言:C ...

  5. 微信小程序学习二 微信小程序的项目结构

    进来之后可以看到五个文件和两个文件夹,一般新建的小程序项目都是这种格式,但有些可能会不一样,不用担心,因为我们所要关注的文件是不会变的 pages 小程序的页面放置文件夹,每一个页面(page)包含四 ...

  6. hdu4336 Card Collector MinMax 容斥

    题目传送门 https://vjudge.net/problem/HDU-4336 http://acm.hdu.edu.cn/showproblem.php?pid=4336 题解 minmax 容 ...

  7. Halo(十三)

    Spring Boot Actuator 请求跟踪 Spring Boot Actuator 的关键特性是在应用程序里提供众多 Web 接口, 通过它们了解应用程序运行时的内部状况,且能监控和度量 S ...

  8. node-解压版 安装配置测试

    一.下载node压缩包   地址:https://nodejs.org/en/download/ 二.解压下载的压缩包,在文件根目录新增两个文件夹: node_cache:缓存文件位置 node_gl ...

  9. 每天一个Linux命令:find(20)

    find find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间 ...

  10. 【Java】Java引用maven私服jar包及jar包提交私服问题

    pom.xml中加入以下配置即可 1.引用私服jar包 <!-- 加载的是 第三方项目使用的jar包 --> <repositories> <repository> ...