- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
注意:这是一个一般性的编程问题,不特定于任何语言,但您可以在回答中随意使用您选择的语言来解释逻辑。
我想要一种方法来获取一串文本,比如 "Default(0-100)=20"
然后从中提取默认小时工资为 20 小时 0 到100. 这可以用来表示“Default(101-245)=25”,即 101 到 245 小时的默认小时工资为 25。还允许它定义“Brian(0-29)=15”,即用户“Brian”在 0 到 29 小时的非默认小时工资为 15。
我的第一印象是通过正则表达式来运行字符串,比如 ^(\w*)\((\d*)-(\d*)\)$
拾取文本和范围的较小和较高端。
存储此信息以便日后使用的最佳方式是什么?多维数组?哈希?
一旦您存储了信息,实际使用这些信息的最佳方式是什么?
如果假设我们使用 "Default(0-100)=20"
和 "Default(101-245)=25"
,工作时数为 150。
最佳答案
我不是很有经验,但我试着自己回答一下,也许它可以帮助你。
对于问题的第一部分,对于像该 id 这样的字符串,只需在适当的位置拆分给定的字符串即可。大多数框架都有类来执行此操作。例如,在您的情况下是 ( ) - 和 =
结果:
默认,(,0,-,100,),=,20
当你使用一致的字符串格式时,你的值总是在同一个索引处。选择它们,根据需要进行转换并存储在变量中;
假设你在谈论面向对象的编程,我会在你的情况下做这样的事情:
创建一个类employee,将name和hourly-wages作为实例变量。这个类还有一个方法 calculateWageForHours(int hours)。小时工资可以存储在字典或类似的东西中 - 取决于您的框架。您将开始时间作为字典的关键字,并将投注率作为值。您不需要结束时间,因为一个费率在到达下一个“阶段”之前一直存在。
工资的计算方法大概是这样的:(具体情况肯定有更好的方法)
calculateWageForHours(int hours) {
for (int i = 0, i < dict.count - 1, i++) {
if (hours < dict[i + 1].key /* the int-value for the hour */ -1) {
float wage;
for (int j = 0, j < i, j++) {
wage += (dict[j + 1].key - 1) * dict[j].value;
}
wage += (hours - dict[i].key - 1) * dict[i].value;
return wage;
}
return calculateWageForHours(dict.lastkey - 1)
+ (hours - dict.lastkey) * dict.lastkey.value;
默认部分可以设置在您实例化员工类的程序中的任何位置。只需编写一个为员工创建默认字典的方法。 (也可以在对象初始化中完成,然后从 Controller 类中提交必要的参数)
关于algorithm - 通用编程逻辑 : Defining Hourly Wage Ranges,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3221414/
每小时整点的 cron 表达式是什么?我试过这个'0 0 *? * *' 但它抛出了一个错误我有一个 Azure 函数计时器触发器 下面的表达式每分钟运行一次。 public static void
这个问题已经有答案了: flot display the date in flot based on timestamp (4 个回答) 已关闭 7 年前。 我的图表上有以下几点: data = [
我正在尝试使用 the schedule module在不断更新的脚本中进行一些基本的调度。 有没有办法设置每“x”小时运行一次的计划,“准时”? 例如,我希望有一个运行时间为:[1:02pm, 2:
我有这样的日记表结构: CREATE TABLE Diary ( [IdDiary] bigint, [IdDay] numeric(18,0) ); INSERT INTO Di
我正在寻找一个字符串 (mysql),它可以正确地计算总时间的几个小时。分钟。我找不到任何合适的东西。 例子: id| time_spent| 1 | 10.15 | 2 | 10.15
是否可以在 ruby 中将“1.hour”字符串转换为 1.hour,将“2.hours”转换为 2.hours?实际上我是从表单的下拉列表中获取这个值的。我想通过这样的方式将它添加到 Time.
假设我有以下疑问: d1 = service.data().ga().get( ids='ga:xxxxxxx', start_date='2016-04-25',
我需要能够以 15 分钟的增量在不同的显示类型中显示我拥有的数据。我有两个问题给我带来了麻烦。一个以半小时为单位显示数据,另一个以小时为单位显示数据。唯一的问题是查询之间的数据总数会发生变化。它不计算
在 shell 中,当我打印这个时 date -d "2016-11-23 13:05 -1 hours " "+%Y-%m-%d %H:00:00" 我得到 2016-11-23 23:00:00
我正在使用this example来自 highcharts,但我需要按如下方式调整: 让 x 轴显示从当前小时开始的当前 24 小时(我能够绘制 24 小时,但不能从当前小时开始绘制) xAxis
我正在尝试将 UTC 日期转换为当前时区,但我注意到一个时间问题。 我在塔希提岛/法属波利尼西亚 (UTC-10),当前时间(使用格式:yyyy/MM/dd HH:mm:ss)是:2018/08/05
我正在使用 JSON 将数据获取到我的数据库。有没有办法在图表更新时将 xAxis 转到 6 小时前、5 小时前、4 小时前、3 小时前、2 小时前、1 小时前?因为我正在使用 LM35 将温度导入到
大家好,我对 psql 有点陌生,需要收集一些我不确定是否可行的数据。 所以我有 7 天的数据。列是 用户编号 导入日期 范围_1_99 范围_100_149 范围_150_199 范围_200_24
我有一个大的 txt 文件空间分隔,我将其分成 18 个较小的文件(每个文件都有自己的列数)。此拆分基于分隔符,即每当时间戳达到午夜时。如此有效,我将以以下形式得到 18 个文件(请注意,忽略破折号和
Heroku says (免费) Must sleep 6 hours in a 24 hour period 好的,没问题。 但是我可以影响向用户显示的消息或任何文本,例如:“您好,用户,不幸的是,
在 Javascript 中,我有 4 个带有值的变量。 以下是示例: var start_hour = 1; var start_minute = 00; var end_hour = 6; var
我想显示以小时、分钟和秒为单位的时间长度,其中有些时间长度大于 24 小时。目前我正在尝试这个: $timeLength = new DateTime(); $timeLength->setTime(
在中五的S周两小时练习题中,代码正确地给出了总课时,但尽管使用了浮动,它还是截断了每周的平均课时。我哪里错了?。当出现提示并输入A时,我输入了每周花费的周和小时数,但它只输出一个整数值,而不是浮点数。
例如,我想解析下面的字符串: Tue Sep 28 18:02:24 GMT+08:00 2010 我使用 SimpleDateFormat 的模式: new SimpleDateFormat("EE
我正在开发应用程序,该应用程序已成功完成并上线。现在,我在该应用程序中发现了一个错误,因为我正在根据用户的当前时间管理项目。就像时间是用元素可用或不可用来定义的,元素只会在那个可用的时间可见。时间随该
我是一名优秀的程序员,十分优秀!