我们将星期几表示为整数。java将映射位映射到字符串
1 = sunday
2 = monday
4 = tuesday
8 = wednesday
16 = thursday
32 = friday
64 = saturday
当我们拿到一个int 88 - 这将意味着64 + 16 + 8,所以我们需要得到调度是周三,周四&星期六
我做了如下但是我想有一个更好的办法...
public List<String> getDays(int input) {
List days = new ArrayList();
days.add((sunday & input!=0) ? "SUN" : "");
days.add((monday & input!=0) ? "MON" : "");
...
...
return days;
}
你想你列表中的一堆空白条目?这就是你现在得到的。 –
您可以创建一个位(整数)到日(字符串)的映射,并遍历映射的条目,添加在输入中有位的日子。或者,您可以创建一个包含这些映射的枚举以实现更多面向对象的方法。 – Vulcan
您可能想要检查堆栈交换中的codereview社区是否是一个提问此问题的好地方(只要您当前的代码正在执行预期的操作) – Marged