黑马程序员技术交流社区

标题: 猜猜你的生日是几号 [打印本页]

作者: 周超    时间: 2012-12-20 12:36
标题: 猜猜你的生日是几号
猜猜你的生日是几号吧...

import javax.swing.JOptionPane;

public class GuseeBrithdayUsingConfirmationDialog
{
        public static void main(String[] args)
        {
                String set1 =
                "1   3  5  7\n" +
                "9  11 13 15\n" +
                "17 19 21 23\n" +
                "25 27 29 31\n";

                String set2 =
                "2  3  6  7\n" +
                "10 11 14 15\n" +
                "18 19 22 23\n" +
                "26 27 30 31\n";

                String set3 =
                "4  5  6  7\n" +
                "12 13 14 15\n" +
                "20 21 22 23\n" +
                "28 29 30 31\n";
               

                String set4 =
                "8  9  10  11\n" +
                "12 13 14  15\n" +
                "24 25 26  27\n" +
                "28 29 30  31\n";

                String set5 =
                "16 17 18 19\n" +
                "20 21 22 23\n" +
                "24 25 26 27\n" +
                "28 29 30 31\n";

        int day = 0;

        int answer = JOptionPane.showConfirmDialog(null,"你的生日在这些数字里面吗?\n" + set1);
       
        if(answer==JOptionPane.YES_OPTION)
                day+=1;
       
        answer=JOptionPane.showConfirmDialog(null,"你的生日在这些数字里面吗?\n" + set2);
       
        if(answer==JOptionPane.YES_OPTION)
                day+=2;
       
        answer=JOptionPane.showConfirmDialog(null,"你的生日在这些数字里面吗?\n" + set3);
       
        if(answer==JOptionPane.YES_OPTION)
                day+=4;
       
        answer=JOptionPane.showConfirmDialog(null,"你的生日在这些数字里面吗?\n" + set4);
       
        if(answer==JOptionPane.YES_OPTION)
                day+=8;
       
        answer=JOptionPane.showConfirmDialog(null,"你的生日在这些数字里面吗?\n" + set5);
       
        if(answer==JOptionPane.YES_OPTION)
                day+=16;
       
        JOptionPane.showMessageDialog(null,"你的生日是" + day + "!");
        System.exit(0);
        }
       
}

这个游戏的五个集合中的第一个数字分别是1,2,4,8,16;对应的二进制数是1,10,100,1000,10000;从1到31的十进制数最多用5个二进制数表示就可以了,这就是其中的原理.

作者: 冯超    时间: 2012-12-20 14:08
What are you doing ?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2