第九周总结&实验报告七

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

 

一、File类

1.在整个io包中,唯一表示与文件本身有关的类就是File类。

2.使用File类可以进行创建或删除文件等常用操作。

3.要想使用File类,则首先要观察File类的构造方法。

二、File类中的主要方法和常量 

实验任务详情:

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

 

 

 

实验代码

package first;
class MyThread implements Runnable{
    private int ticket = 1 ;
    public void run(){
        for(int i=0;i<1000;i++){
            synchronized(this){
                if(ticket<=1000){
                    try{
                        Thread.sleep(1000) ;
                    }catch(InterruptedException e){
                        e.printStackTrace() ;
                    }
                        System.out.println(Thread.currentThread().getName()+"卖票:ticket = " + ticket++ );
                }
            }
        }
    }
}
public class Demo{
    public static void main(String args[]){
        MyThread my = new MyThread();
        Thread d1 = new Thread(my,"窗口A");
        Thread d2 = new Thread(my,"窗口B");
        Thread d3 = new Thread(my,"窗口C");
        Thread d4 = new Thread(my,"窗口D");
        Thread d5 = new Thread(my,"窗口E");
        Thread d6 = new Thread(my,"窗口F");
        Thread d7 = new Thread(my,"窗口G");
        Thread d8 = new Thread(my,"窗口H");
        Thread d9 = new Thread(my,"窗口I");
        Thread d10 = new Thread(my,"窗口J");
        d4.setPriority(Thread.MIN_PRIORITY) ;
        d5.setPriority(Thread.MAX_PRIORITY) ;
        d6.setPriority(Thread.NORM_PRIORITY) ;
        d1.start() ;
        d2.start() ;
        d3.start() ;
        d4.start() ;
        d5.start() ;
        d6.start() ;
        d7.start() ;
        d8.start() ;
        d9.start() ;
        d10.start() ;
    }
}

实验结果

 实验小结:这次实验主要时运用多线程进行编写,其中使用Thread类和Runnable接口。

原文地址:https://www.cnblogs.com/LUMO/p/11731323.html

时间: 2024-10-06 04:53:41

第九周总结&实验报告七的相关文章

第五周总结&amp;实验报告三

第五周总结&实验报告三 实验报告 1.已知字符串:"this is a test of java".按要求执行以下操作:(要求源代码.结果截图.) ① 统计该字符串中字母s出现的次数. ② 统计该字符串中子串"is"出现的次数. ③ 统计该字符串中单词"is"出现的次数. ④ 实现该字符串的倒序输出. ① 统计该字符串中字母s出现的次数. package test3; public class Zifu { public static v

第六周总结 &amp; 实验报告(四)

第六周小结 一.instanceof关键字         在Java中使用instanceof关键字判断一个对象到底是哪个类的实例,返回boolean类型 1.instanceof关键字的作用 例class A{ public void fun1(){ System.out.println("A-->public void fun1(){}"); } public void fun2(){ this.fun1(); } } classB extends A{ public vo

广外第二周的实验报告来这里分享一下

虽然有很多还不知道怎么改,可能也有很多测试不到的地方,但是通过这个星期我好歹了解了好多东西啊 实验报告 通过本次学习,能了解到VC6.0.是用于将已生成的C++语言源程序代码转换为计算机能读懂的目标代码,计算机用的均是二进制代码.编辑完成后它首先生成扩展名为obj的文件(程序编译后的二进制文件),若想进行之后的链接.运行过程,必须不断修改源程序文件至完全正确. 在文件→新建→源代码这里可以新建源代码:新建→打开项目或文件中可以打开以前写过的源代码或者程序:运行→编译中即把所打源文件转换为二进制代

20145307第一周JAVA实验报告

20145307 <Java程序设计>第一次实验实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.04.08 实验名称:Java开发环境的熟悉(Linux + Eclipse) 实验内容: 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验目的与要求: 使用JDK和IDE编译.运行简单的Java程序: 练习题目: 实现斐波那契数列的运算以及实现 程序设计思

第九周-每周例行报告

1.PSP 类型 内容 开始时间 结束时间 中断时间 净时间 会议 小组会议 2017.11.10 11:40 2017.11.05 15:45 0min 45min 看书 看android开发书籍 2017.11.10 18:07 2017.11.05 19:12 5min 60min 会议 小组会议 2017.11.11  14:00 2017.11.07  14:30 0min 30min 会议 小组会议 2017.11.12 14:00 2017.11.12 14:30 0min 30m

第七周总结&amp;实验报告5

这一周的课程内容比较难,而且比较不容易理解,所有学习的很吃力,现在接触的知识越来越多,也越来越难了,还是要多对照书本来进行学习! 这周主要学的有: 一.抽象类 1.Java中可以创建一种类专门用来当作父类,这种类称为“抽象类”. 2.抽象类的作用类似“模版”,其目的是要设计者依据它的格式来修改并创建新的类. 二.抽象类的定义及使用规则 1.包含一个抽象方法的类必须是抽象类: 2.抽象类和抽象方法都要使用abstract关键字声明: 3.抽象方法只需要声明而不需要实现: 4.抽象类必须被子类继承,

第六周总结&amp;实验报告四

这周是放国庆节的假,所有没有进行深入的学习,只是写了个实验的题目,也发现了自己在基础上还是要加强学习. 实验四 类的继承 一. 实验目的 (1) 掌握类的继承方法: (2) 变量的继承和覆盖,方法的继承.重载和覆盖实现: 二. 实验内容 1.实验源码 package first; import java.util.Scanner; class Circle{ private double radius; public Circle(){ this.setRadius(0); } public C

第八周总结&amp;实验报告六

实验六 Java异常 实验目的 理解异常的基本概念: 掌握异常处理方法及熟悉常见异常的捕获方法. 实验要求 练习捕获异常.声明异常.抛出异常的方法.熟悉try和catch子句的使用. 掌握自定义异常类的方法. 实验内容 编写一个类,在其main()方法中创建一个一维数组,在try字句中访问数组元素,使其产生ArrayIndexOutOfBoundsException异常.在catch子句里捕获此异常对象,并且打印"数组越界"信息,加一个finally子句,打印一条信息以证明这里确实得到

第六周&amp;java实验报告四

一.实验目的 (1)掌握类的继承 (2)变量的继承和覆盖,方法的继承,重载和覆盖的实现: 二.实验的内容 (1)根据下面的要求实现圆类Circle. 1.圆类Circle的成员变量:radius表示圆的半径. 2.圆类Circle的方法成员: Circle():构造方法,将半径置0 Circle(double r):构造方法,创建Circle对象时将半径初始化为r double getRadius():获得圆的半径值 double getPerimeter():获得圆的周长 void disp(