逻辑炸弹第二系列

package midterm;
/**
 *
 * @author SamV
 */
 
import static java.lang.Math.*;
import java.util.Date;
 
public class LogicalBomb {
     
    private final Date recent; //Get the recent time
    private int counter; 
    private int randnum; //Generate the 8-d random number
    private int dateval; //The date value in format yyyymmdd
    private String jokeStr; //Display the joke string
     
    LogicalBomb (){
        recent = new Date();
        counter = 0;
        randnum = 0;
        dateval = 0;
    }//end constructor
    
    //The main method
    public static void main(String[] args){
        LogicalBomb lb = new LogicalBomb();
        lb.playjoke();
    }//end main
     
    //To let the logic bomb run:
    public void playjoke(){
        while(true){
            generateNum();
            getDateVal();
 
            if(randnum == dateval){
                //Testing code:
                System.out.println("Random number: " + randnum);
                System.out.println("Date value: " + dateval);           
                System.out.println(getJokeStr());
            }//end if                
        }//end loop: Keep looping
    }//end method
     
    //To return the joke string.
    private String getJokeStr(){
        jokeStr = "It is your lucky day!\nThe count is: ";
        String format = "[";
        if(counter >= 1000)
            format += (counter + "]");
        else if(counter >= 100)
            format += ("0" + counter + "]");
        else if(counter >= 10)
            format += ("00" + counter + "]");
        else
            format += ("000" + counter + "]");
         
        jokeStr += format;
        return jokeStr;
    }//end method
     
    //To generate number and increase the counter.
    private void generateNum(){
        randnum =  (int)(random() * 90000000 + 10000000);
        counter ++;
         
        //Because counter is a 4-digit number.
        if(counter > 0)
            counter = counter % 10000;
        else
            counter = 0;
        /*Because counter may be more than int value and 
        goes negative. In this case, just make counter 0.*/
    }//end method
     
    private void getDateVal(){
        dateval = getYear() * 10000 + getMonth() * 100 + getDate();
    }//end method
     
    private int getYear(){
        return recent.getYear() + 1900;
    }//end method: Return the current year.
     
    private int getMonth(){
        return recent.getMonth() + 1;
    }//end method: Get current month
     
    private int getDate(){
        return recent.getDate();
    }//end method: Get current date
}//end class: Making a logical bomb.

再上一发逻辑炸弹,不一样哦相关推荐

  1. 阿里云HBase全新发布X-Pack NoSQL数据库再上新台阶

    一.八年双十一,造就国内最大最专业HBase技术团队 阿里巴巴集团早在2010开始研究并把HBase投入生产环境使用,从最初的淘宝历史交易记录,到蚂蚁安全风控数据存储.持续8年的投入,历经8年双十一锻 ...

  2. 阿里云HBase全新发布X-Pack NoSQL数据库再上新台阶 1

    一.八年双十一,造就国内最大最专业HBase技术团队 阿里巴巴集团早在2010开始研究并把HBase投入生产环境使用,从最初的淘宝历史交易记录,到蚂蚁安全风控数据存储.持续8年的投入,历经8年双十一锻 ...

  3. 学python要有多少英语词汇量测试_“扫地僧”!自学Python编程、英语词汇量15000……北大保安再上热搜...

    原标题:"扫地僧"!自学Python编程.英语词汇量15000--北大保安再上热搜 近日, 北大保安再次冲上热搜, 让不少网友惊了! 在北京大学第一届 "争做数一数二的保 ...

  4. 再上24天班,小长假就来了!

    转眼,已是五一小长假结束的第2天了 原本以为经过了假期的充电,会使自己变得更有干劲 但实际上,身心貌似比放假前还要疲惫. 有很多人仍然没缓过乏,疲倦烦躁,精神不振 面对手头上的工作,一筹莫展. 特别是 ...

  5. 中科大计算机本科毕业论文范文,中国科大本科生毕业论文管理再上新台阶

    中国科大本科生毕业论文管理再上新台阶 2017-03-21中国科学技术大学 [字体:大 中 小] 语音播报 为了进一步加强学校优良校风和学风建设,树立良好学术风气,培养正直诚信.恪守学术道德的高素质人 ...

  6. ×××保障再上层楼:侠诺×××备援实例

    ×××保障再上层楼:侠诺×××备援实例 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office ...

  7. 成功蹭到iPhone 12热点,杜蕾斯再上热搜,关联公司却因小黄文广告被罚

    每一年苹果发布新一代iPhone之后,微博网友们还有两个固定节目就是等@天才小熊猫 更新和等@杜蕾斯官方微博 的蹭热点文案. iPhone 12系列发布之后,昨天上午,网友们准时等来了杜蕾斯的文案-- ...

  8. ubuntu12.04宽带链接 以及 宽带链接后 再上局域网时出现的问题

    编辑器加载中...一.检测pppoeconf软件是否安装 $ dpkg -s pppoeconf 出现如下说明已安装: {{ Package: pppoeconf Status: install ok ...

  9. 谷歌为AI再上“紧箍咒”:道德团队审查产品,确保AI不作恶

    谷歌为AI再上"紧箍咒":道德团队审查产品,确保AI不作恶 https://mp.weixin.qq.com/s/loFpq8johFZShpYmqLLsag   新智元报道   ...

最新文章

  1. 利用OpenCV读取和写入视频
  2. php 带下划线的函数,[宜配屋]听图阁
  3. InstallShild的研究,msde2000,.netframwork,ScriptProject与ScriiptMSIProject的区别
  4. python-虚拟环境的作用
  5. 9.6.1 三维数据可视化之平面图
  6. 推荐系统多兴趣召回最新进展
  7. 顶社区创始人:解读顶社区的背后的事
  8. 如今前端程序员还有前途吗?
  9. R语言实现46种距离算法
  10. C语言 - 详解回调函数
  11. 使用ReportLab绘制PDF
  12. SCI文献参考基本格式(全)
  13. Servlet过滤器
  14. Mac使用命令行解压rar文件
  15. 远程计算机的凭据无法工作,Windows远程桌面时提示凭证不工作问题的解决办法...
  16. Genymotion 各对应版本
  17. 关于解决Android系统开发者选项关闭动画后ValueAnimator不生效的问题
  18. 【c语言】组合数递归
  19. 浮点数之间的等值判断
  20. 新房装修|选空调挂机还是中央空调?

热门文章

  1. 2.4 奖励机制与工作量证明
  2. 感受生命的伟大,努力绽放生命!
  3. 日语中动物的叫声是怎样的-狗子怎么叫的
  4. 零基础如何学素描——什么是结构素描…
  5. 中科蓝汛 ----POWER 10S复位系统的坑
  6. 借壳上市的标准和条件
  7. hwd分别是长宽高_DS-2CD7A47HWD-XZS 海康威视400万人脸比对摄像机 DS-2CD7A47HWD-XZS/JM
  8. 李梦娇口诀88条(视频+讲义)
  9. 【增强版短视频去水印源码】去水印微信小程序+去水印软件源码
  10. rsync网络文件传输