Java位运算的使用的问题。

botaocao 2016-06-27 10:40:26
下面是根据选中的checkbox通过位运算得到的一个十进制数的代码,我现在需要根据这个十进制数知道有哪些checkbox被选中,代码应该怎么写呢?请给出Java代码,感谢!
String [] checkValue= request.getParameterValues("listCheck");
int role=0;
for (int i = 0; i < checkValue.length; i++)
{
int a=Integer.parseInt(checkValue[i]);
role=a|role;
}
return role;

下面是jsp页面里的checkbox:
<td > <input type="checkbox" name="listCheck" value="1" id="checkboxid" />OPB数据分析 </td>
<td ><input type="checkbox" name="listCheck" value="2" id="checkboxid"/>OPS数据分析</td>
<td > <input type="checkbox" name="listCheck" value="4" id="checkboxid" />OPA数据分析</td>
<td> <input type="checkbox" name="listCheck" value="8" id="checkboxid"/>OPB转化率分析</td>
<td> <input type="checkbox" name="listCheck" value="16" id="checkboxid"/>激活数据分时段监控 </td>
<td> <input type="checkbox" name="listCheck" value="32" id="checkboxid"/>数据汇总管理</td>
<td><input type="checkbox" name="listCheck" value="128" id="checkboxid"/>第三方数据付费分析 </td>
<td><input type="checkbox" name="listCheck" value="256" id="checkboxid"/>应用包分析</td>
<td><input type="checkbox" name="listCheck" value="512" id="checkboxid"/>渠道数据分析</td>
<td ><input type="checkbox" name="listCheck" value="1024" id="checkboxid"/>服务器负载监控 </td>
...全文
237 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lianren879 2016-07-08
  • 打赏
  • 举报
回复
引用 1 楼 lianren879 的回复:
十进制转成二进制 再将二进制转成字符串 然后从后往前取哪一位是1,就知道哪些被选中了啊
我又找到一个好方法 //role原值 (role>> pos) & 1) 例如 (role>>0)&1 等于1 就代表第一个被选中了,为0则未选中 (role>>4)&1 等于1就代表第五个被选中了,为0则未选中
zhangweihan01 2016-07-05
  • 打赏
  • 举报
回复
提供个思路:把所有数值加起来转换成二进制,哪一位上是1则对应的是被选中的 1--->000 000 001 2--->000 000 010 4--->000 000 100 .......... 1+2+4--->000 000 111说明前三个被选中
我爱沐兮 2016-07-05
  • 打赏
  • 举报
回复
笨方法 switch (role) { case 1: break; case 3: break; case 7: break; case 15: break; case 31: break; case 127: break; case 255: break; case 511: break; case 1023: break; default: break; }
lianren879 2016-07-05
  • 打赏
  • 举报
回复
十进制转成二进制 再将二进制转成字符串 然后从后往前取哪一位是1,就知道哪些被选中了啊

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧