先给出答案:能!并且可以标识这个月内哪天签到过、哪天未签到、并且统计签到的天数!
能够做到这些,得力于对二进制、位运算的应用:int有32位,一个月最多有31天
直接上代码:
public static void main(String args[])
{
int data = 0;
data = (int)setBin_1(data,0);//签到
data = (int)setBin_1(data,1);//签到
data = (int)setBin_1(data,3);//签到
data = (int)setBin_0(data,1);//修改第二天为未签到
data = (int)setBin_1(data,4);//签到
System.out.println(getBin(data, 0)==1?"已签到":"未签到");
System.out.println(getBin(data, 1)==1?"已签到":"未签到");
System.out.println(getBin(data, 2)==1?"已签到":"未签到");
System.out.println(getBin(data, 3)==1?"已签到":"未签到");
System.out.println(getBin(data, 4)==1?"已签到":"未签到");
System.out.println("这个月签到次数:&