小游戏——猜猜你的生日

来源:互联网 发布:mysql 查库表空间大小 编辑:程序博客网 时间:2024/04/30 18:10
import java.util.Scanner;import javax.swing.JOptionPane;public class learningAddition {/** * @param args */public static void main(String[] args) {String month1=" 1 3 5 7 9 11\n";String month2=" 2 3 6 7 10 11\n";String month3=" 4 5 6 7 12\n";String month4=" 8 9 10 11 12\n";/*/////////////////*/String day1=" 1  3  5  7\n"+" 9 11 13 15\n"+"17 19 21 23\n"+"25 27 29 31\n";String day2=" 2  3  6  7\n"+"10 11 14 15\n"+"18 19 22 23\n"+"26 27 30 31\n";String day3=" 4  5  6  7\n"+"12 13 14 15\n"+"20 21 22 23\n"+"28 29 30 31\n";String day4=" 8  9 10 11\n"+"12 13 14 15\n"+"24 25 26 27\n"+"28 29 30 31\n";String day5="16 17 18 19\n"+"20 21 22 23\n"+"24 25 26 27\n"+"28 29 30 31\n";int day=0,month=0;int answer;answer=JOptionPane.showConfirmDialog(null, "这里有你生日的月份吗?\n"+month1);if(answer==JOptionPane.YES_OPTION)month+=1;answer=JOptionPane.showConfirmDialog(null, "这里有你生日的月份吗?\n"+month2);if(answer==JOptionPane.YES_OPTION)month+=2;answer=JOptionPane.showConfirmDialog(null, "这里有你生日的月份吗?\n"+month3);if(answer==JOptionPane.YES_OPTION)month+=4;answer=JOptionPane.showConfirmDialog(null, "这里有你生日的月份吗?\n"+month4);if(answer==JOptionPane.YES_OPTION)month+=8;answer=JOptionPane.showConfirmDialog(null, "这里有你生日的日期吗?\n"+day1);if(answer==JOptionPane.YES_OPTION)day+=1;answer=JOptionPane.showConfirmDialog(null, "这里有你生日的日期吗?\n"+day2);if(answer==JOptionPane.YES_OPTION)day+=2;answer=JOptionPane.showConfirmDialog(null, "这里有你生日的日期吗?\n"+day3);if(answer==JOptionPane.YES_OPTION)day+=4;answer=JOptionPane.showConfirmDialog(null, "这里有你生日的日期吗?\n"+day4);if(answer==JOptionPane.YES_OPTION)day+=8;answer=JOptionPane.showConfirmDialog(null, "这里有你生日的日期吗?\n"+day5);if(answer==JOptionPane.YES_OPTION)day+=16;JOptionPane.showMessageDialog(null, "你的生日是"+month+"月"+day+"日");}}


原理

转换为二进制

1    =》  1

2    =》  10

4    =》  100

8    =》  1000

16  =》  10000

这几个二进制数可以表示 1~31 内的所有数

比如 22 转换为二进制是10110=10000+100+10,所以22在 16,4,2 的框框里都有

算的时候把每一个框框的第一个数加起来就可以了。

0 0
原创粉丝点击