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 的框框里都有
算的时候把每一个框框的第一个数加起来就可以了。