我收到了多个以逗号分隔的字符串整数作为输入,例如以下字符串:
“5,6,0”
“0,1,2”
“1,2,3,4”
这些整数中的每一个都代表一周中的一天
0 = 星期日 1 = 星期一 2 = 星期二 3 = 星期三 4 = 星期四 5 = 星期五 6 = 星期六
对于第一个字符串,这意味着星期四到星期日 第二个字符串的有效期是星期日到星期二 第三个字符串的有效期是星期一到星期四
目前,我正在使用以下
private fun mapOfDays(validDays: String): LinkedHashMap<Int, String>
{
if (!validDays.isBlank())
{
val daysArray = validDays.split("\\s*,\\s*") as Array<String>
var mapDays = LinkedHashMap<Int, String>()
var mapDay = LinkedHashMap<Int, String>()
mapDays[0] = "SUNDAY"
mapDays[1] = "MONDAY"
mapDays[2] = "TUESDAY"
mapDays[3] = "WEDNESDAY"
mapDays[4] = "THURSDAY"
mapDays[5] = "FRIDAY"
mapDays[6] = "SATURDAY"
for (day in daysArray)
{
if (mapDays.containsKey(day.toInt()))
{
mapDay[day.toInt()] = mapDays[day.toInt()]!!
}
}
return mapDay
}
return LinkedHashMap()
}
private fun mappedDays(mapOfDays: LinkedHashMap<Int, String>?): String
{
if (!mapOfDays.isNullOrEmpty())
{
val mapSize = mapOfDays.size
if (mapSize > 6) return "All Day"
if (mapSize > 5) return sixDayString(mapOfDays)
if (mapSize > 4) return fiveDayString(mapOfDays)
if (mapSize > 3) return fourDayString(mapOfDays)
if (mapSize > 2) return threeDayString(mapOfDays)
if (mapSize > 1) return twoDayString(mapOfDays)
if (mapSize > 0) return oneDayString(mapOfDays)
}
return ""
}
但是,我当前的实现能够告诉我包含哪些天,但无法绘制出天数组,例如:
如果我得到“0,1,3,4,5,6”我想要的最终字符串输出如下:星期三到星期一
或者
“0,1,3,4,5”将导致以下结果:Sunday , Monday , Wednesday to Friday。
Qyouu
哈士奇WWW
相关分类