栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

做JAVA复习题(三)(程序设计题部分)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

做JAVA复习题(三)(程序设计题部分)

  1. 采用实现java.lang.Runnable接口方式设计并实现模拟车票购买线程类TicketBooking,满足:
  1. 车票数量ticketNumber初始为100,购买者姓名name,分别为int和String类型
  2. 线程目标主体每间隔1000毫秒购买一次车票,并且将原来票数量做相应递减,输出购买者信息和购买车票数量和剩余车票数量信息。

代码如下

class TickerBooking implements Runnable
{
    private int ticketNumber = 100;
    private String name;

    public TickerBooking(String name) {
        this.name = name;
    }

    @Override
    public void run() {
        for (int i = 0;i<100;i++)
        {
            if (ticketNumber > 0)
            {
                System.out.println("name:"+this.name+","+"ticket left:"+this.ticketNumber--);
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

public class t2_5 {
    public static void main(String[] args) throws Exception
    {
        TickerBooking tk = new TickerBooking("Steve");
        new Thread(tk).start();
    }
}

运行结果:

name:Steve,ticket left:100
name:Steve,ticket left:99
name:Steve,ticket left:98
...
name:Steve,ticket left:0
  1. 设计一个Student类,满足:
  1. 成员变量为id和name,分别为int和String类型,访问权限为private
  2. 有参数构造方法
  3. 成员变量的getter类方法
  4. 重写从Object类继承的两个三个方法
    a) boolean equals(Object obj),两个Student对象equals就是其id相等
    b) int hashcode(),一个Student对象的hashcode就是其id
    c) String toString(),使得返回的对象信息为id:name形式。
    设计一个用于指定Student对象之间排序方法的StudentComparator类,满足:
  5. 实现java.util.Comparator接口
  6. 使得两个Student对象比较时,其方法int compare(Student s1,Student s2)
    a) 两个对象id相等时,返回0
    b) s1的id大于s2的id,返回-1
    c) s1 的id小于s2的id,返回1
    设计一个演示类TreeSetDemo类,满足:
  7. 主方法内构造一个用于存Student对象的TreeSet集合,其上对象元素的排序方法按照Comparator接口指定的排序方法排序,分别存Student对象(1,“张1”)、(2,“李4”)、(3,“王5”)、(3,“赵6”)
  8. 将集合元素输出
  9. 对程序结果予以必要的解释。
import java.util.Comparator;
import java.util.TreeSet;

class Student2_6
{
    private String name;
    private int id;

    public Student2_6(String name, int id)
    {
        this.name = name;
        this.id = id;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public boolean equals(Student2_6 obj)
    {

        return obj.getId() == this.getId();
    }

    public int hashcode()
    {
        return this.id;
    }

    @Override
    public String toString() {//重写toString
        return "(" + this.name + ',' + this.id + ')';
    }
}



public class t2_6 //TreeSetDemo
{
    public static void main(String[] args)
    {
        TreeSet ts = new TreeSet<>(new Comparator() {
            @Override
            public int compare(Student2_6 o,Student2_6 p) 
            {//重写compareTo
                return Integer.compare(p.getId(), o.getId());
            }
        });
        ts.add(new Student2_6("张1",1));
        ts.add(new Student2_6("李4",2));
        ts.add(new Student2_6("王5",3));
        ts.add(new Student2_6("赵6",3));
        System.out.println(ts);
    }
}

运行结果:

[(王5,3), (李4,2), (张1,1)]
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/970143.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号