2010-09-05 117 views
1

因此,我有一个时间间隔(分钟:秒)的物理图表,它映射到点值(例如:9:59-10:10 = 59.7),并且我需要编写一个试图找出点值的程序在给定的时间内(比如10:02会返回59.7)。如何检查时间(分钟/秒)是否在给定的时间间隔内?

我还想将间隔图存储在.properties文件中,所以我的其他“计算器”都是一致的。

什么是最好的方式来编程呢?

回答

5

一个简单的方法是将时间映射到一个整数 - 通过一天中的秒数(分钟* 60 +秒)或者仅仅有效地“移除冒号”映射9:59至959和10:10到1010(分钟* 100 +秒)。

然后每个区间只是一对整数。如果您有批次的间隔,您可能希望将它们存储在排序列表中并执行二进制排序 - 如果您没有很多(或不需要经常执行此操作),则只需拥有一个间隔/价值列表和遍历列表将非常简单。

+0

我明白你的意思了,但是我应该将时间映射设置为每个间隔的开始吗?例如,一个间隔为9:59-10:10,值为59.7。所以我应该存储959 = 59.7,然后1011 = 57.5?由于1011将是新的时间间隔的开始? – 2010-09-07 15:15:41

+0

这取决于...间隔是否重叠?存储原始数据(即间隔的两端和与间隔相关的值)可能是最简单的,而不是试图消除其中的一半。但是,如果不了解更多关于背景的信息,很难肯定地说。 – 2010-09-07 16:05:43

+0

正确,间隔不会重叠。 – 2010-09-07 17:06:05

相关问题