gpt4 book ai didi

Java:如何存储从时间 x 到 y(间隔)的时间线/时间表、位置已满或空?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:21:31 25 4
gpt4 key购买 nike

一些简要的背景:

我有一个 Java 应用程序,用于查看某些位置(教室)何时在使用中。用户将位置标识符放入搜索框中,程序将显示任何匹配的事件(类)。该应用程序将显示所有相关信息(类(class)名称、房间编号、教授姓名、星期几、上课时间),正在上课(或即将开课)的类(class)用颜色编码,因此您可以在-看看是否有任何事情发生。数据来自我正在抓取的 html 页面(我没有 SQL 访问权限)。

到目前为止一切正常,我使用 JavaSwing 作为 UI。事件存储为我用来保存它的基本对象,对我的问题唯一重要的部分是它将每个事件的开始和结束时间存储到 Java Date 对象中。

我现在要做的是添加一种方法来检查和显示事件之间的差距(当教室是空的时)。我有我需要的所有数据(所有开始和结束时间),但我无法想出一种方法来实际编写程序以查看差距。

如果这还不够具有挑战性:我想尽可能简单地实现它,而不是使用任何额外的库。我不想重新创建轮子,但我更愿意手动散列代码,而不是仅仅引入导入和几个方法调用;这个项目的一半重点是挑战自己。

现在我不是在寻求关于如何实际显示数据的建议,现在我只是试图以一种可用的方式在逻辑上组织它。它将最终显示在 JTable 中,但我还没有研究该实现。

我的刮板从一个 html 表中提取类似 <td id=time>10:00AM - 11:15AM</td> 的内容并将其解析为两个字符串 10:00AM11:15AM .这些与其他数据一起传递给我的 Course 对象。

我的 Course 对象有一个 DateFormat 集,因此它可以将传入的字符串解释为日期。

public class Course {

static DateFormat tf = new SimpleDateFormat("h:mma");
private String name;
private String room;
private String instructor;
private Date start;
private Date end;
private String days;

public Course(String n, String r, String in, String st, String ed, String d) throws ParseException{
name=n;
room=r;
instructor=in;
start=tf.parse(st);
end=tf.parse(ed);
days=d;
}

//...basic getters, setters, and a toString()

这个想法是我将设置两次,设置我想要检查间隙的窗口。我想选择一个间隔,比如 15 分钟,然后找出教室空无一人的所有 15 分钟或更长时间的间隔,即没有类(class) session 。

最佳答案

排序可能是这里问题的关键。

据推测,您收集了大量已抓取的所有类(class)。首先,您需要能够将给定特定位置的所有类(class)提取到新列表中。您会希望此列表按类(class)日期排序。查看各种排序集合(例如 TreeSet )。您可能还需要使用“比较器”来确保您的类(class)按日期排序。

一旦你有了那个列表,只需迭代它并找到差距。

关于Java:如何存储从时间 x 到 y(间隔)的时间线/时间表、位置已满或空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21533840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com