• Zenoven原创:给未落伍的朋友们~ 看我怎样不到10天落伍的!

    本人账号注册于08年,但是真正热切关注落伍也没几天~~

    废话不多,不知道还有多少朋友们未落伍,看着大家都急着落伍(当时我的心情也一样,我落伍也没两天),我也很着急!

    首先建议看下新人版的一些置顶的帖子,其实上面已经介绍了很多的方法让大家落伍,但是不知道为什么很多朋友都没有看到。

    如果你想靠运气落伍,可以去T楼 ,那就看下面这个链接吧:   http://www.im286.com/thread-3366032-1-1.html

    如果要靠自己的实力落伍,那就继续读吧。我写的比较笼统,具体细节可以看这里 http://www.im286.com/thread-1537697-1-1.html

    首先论坛有好多任务,可以去做任务,前几个任务很好做的,像加几个站长之类的,就是加几个好友为朋友就行了,最后一个任务是发600帖,这个任务就比较艰巨了,得有恒心~~这样大概就可以到接近落伍的等级了~

    然后可以在站长知道(站长技术交流)那里回答别人的提问,我就是给人家回答问题被加分了,然后很快的就落伍。

    还有可以去那些征文里面发文章了,只要你用心写,一般都会被加分的。
    下面是那些链接的地址了:
    “我眼中的落伍”原创征文                      http://www.im286.com/thread-3733209-1-1.html
    “第一次做站的心得”原创征文                 http://www.im286.com/thread-3823137-1-1.html

    还有如果你的积分小于-2  贡献大于200,在线大于10小时的话,可以去点落伍的广告(首页的banner广告,还有版块上面的那20个文字广告)  这样能得到贡献,然后可以去新人区
    里面有个子版块:贡献—积分   现在是每100贡献可以换1积分(只要在该版块发一帖子就给你转换了,注意:如果转换后你的贡献<200就立马没权限访问该版块了)

    我落伍的方法就这些了,写的不好,目的只有一个就是想让更多的朋友尽早落伍!  

    祝朋友们早日落伍!

     

    Zenoven于09-08-31

  • Zenoven转:较为综合的阴历阳历JAVA源程序

    /************************************
     阴历及节日程序 2008 beta1
     免费软件(Free Software) 你可以无限传播与反编译
     该日历有三种外观样式,有从1900年至2049年间的所有阴历
     个人爱好开发  作者:朱春 Email:npuxbd@163.com
     Copyright @ 2008- All Rights Reserved
     FileName:Simple_Calendar
     **********************************/
    import java.text.*;
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import javax.swing.border.*;
    import java.util.*;
    import javax.swing.*;
    public class Simple_Calendar extends JFrame implements ActionListener{

     

     public static void main(String[] args) {
      
      SwingConsole.run(new Simple_Calendar(),525,525);
     }

     

     public Simple_Calendar() {
      setTitle(” 阴历及节日软件 2008 beta1″);
      setIconImage(this.getToolkit().createImage(“title.gif”));
      setResizable(false);
      calendar = Calendar.getInstance();
      today = calendar.get(Calendar.DAY_OF_MONTH);
      panel_Header=initializtion_Header();
      panel_Week =initializtion_Week();
      panel_Calendar=initializtion_Calendar();
       setLayout(null);
      setBounds(185,125,0,0);
      add(panel_Header);panel_Calendar.setBounds(0 ,0  ,525 , 45);
      add(panel_Week);     panel_Week.setBounds(0 ,45 ,525 , 35);
         add(panel_Calendar);panel_Calendar.setBounds(0 ,80 ,525 , 415) ;
         initializtion_Data(calendar);
        
      
      
     }
        private  JPanel initializtion_Header(){//显示表头的panel
          
         JPanel panel = new JPanel();
         year_box  = new  JComboBox();
         month_box = new JComboBox();
         cross=new JRadioButton(“c”,false);cross.addActionListener(new LookAndFeel_Listener());
         system=new JRadioButton(“s”,false);system.addActionListener(new LookAndFeel_Listener());
         motif=new JRadioButton(“m”,false);motif.addActionListener(new LookAndFeel_Listener());
         feel_group= new ButtonGroup();
         show_help = new JButton(“说 明”);
         
         show_help.addActionListener(new Statement_Listener());
         
         feel_group.add(cross);feel_group.add(system);feel_group.add(motif);
         panel.setBorder(new EtchedBorder(5,Color.red,Color.BLUE));
         JLabel year_l = new JLabel(“请您选择年份: “,JLabel.RIGHT);
         JLabel month_l = new JLabel(“月份: “,JLabel.RIGHT);
         panel.setLayout(null);
         panel.setSize(525,45);
     

     

         for(int i = 1900 ;i < 2050 ; i++)
            year_box.addItem(“”+i);
         for(int j = 1 ; j <= 12 ;j++)
            month_box.addItem(“”+j) ;
       
         year_box.setSelectedIndex(calendar.get(Calendar.YEAR)-1900);
         month_box.setSelectedIndex(calendar.get(Calendar.MONTH));
         panel.add(year_l);      year_l.setBounds(0,10,95,25);
         panel.add(year_box);  year_box.setBounds(100,10,65,25);
         panel.add(month_l);    month_l.setBounds(160,10,45,25);
         panel.add(month_box);month_box.setBounds(210,10,45,25);
         JLabel look_feel = new JLabel(“外观:”,JLabel.RIGHT);
         panel.add(look_feel);look_feel.setBounds(290-38,10,38,25);
         panel.add(cross);       cross.setBounds(290,10,38,25);
         panel.add(system);     system.setBounds(325,10,32,25);
         panel.add(motif);       motif.setBounds(355,10,38,25);
         panel.add(show_help);  show_help.setBounds(400,10,65,25);
         show_help.setBorder(new EmptyBorder(0,0,0,0));
         show_help.setBackground(Color.getHSBColor(23,21,10));
         year_box.addActionListener(this);
         month_box.addActionListener(this);
         return panel;
        }
        private JPanel initializtion_Week(){//显示星期的panel
      JPanel panel = new JPanel();
      
      panel.setLayout(new GridLayout(1,7));
      
      String columnNames[]={“星期日”,”星期一”,”星期二”,”星期三”,
                                      “星期四”,”星期五”,”星期六”};
            JLabel label =null;
            for(int i=0;i<7;i++){
             label = new JLabel(columnNames[i],JLabel.CENTER);
             if(i == 0 || i == 6)
               label.setForeground(Color.RED);
             label.setBorder(new LineBorder(Color.BLUE));
             panel.add(label);
            }
            return panel;
     }
        private JPanel initializtion_Calendar(){//显示日期的panel
            JPanel panel = new JPanel();
         
            panel.setLayout(new GridLayout(6,7));
            for( int i = 0 ; i < 6 ; i++ ){
              for(int j = 0 ; j < 7 ; j++ ){
             label=new JLabel(“”,JLabel.CENTER);
             
             datas[i][j] = label;
             label.setBorder(new LineBorder(Color.BLUE));
             if(j==0 || j==6)
                label.setForeground(Color.RED); 
             datas[i][j].addMouseListener(new List_MouseListener());
             panel.add(label);
            }
         }
         return panel;
        }
       
        public  void clear_Data(){//清空内容的
         for(int i = 0 ; i < 6 ; i++ )
          for(int j = 0 ; j < 7 ; j++ ){
           datas[i][j].setText(“”);
           if(j==0 || j==6)
              datas[i][j].setForeground(Color.RED);
           else
              datas[i][j].setForeground(null);
          }
             
        }
        public  void initializtion_Data(Calendar calendar){//初始化函数
       ////////////////////////////////////////////////////
       ////////////////////////////////////////////////////////////
        /* 节日和纪念日
    格式:起始年(yyyy)+月(mm)+日(dd)

     

    0000表示起始年不明*/
    HashMap<String,String>  sFestival =new  HashMap<String,String>();
    //String []sFestival_={
    sFestival.put(“0101″,”  元旦”);
    sFestival.put(“0214″,”情人节”);
    sFestival.put(“0308″,”妇女节”);
    sFestival.put(“0312″,”植树节”);
    sFestival.put(“0401″,”愚人节”);
    sFestival.put(“0501″,”劳动节”);
    sFestival.put(“0504″,”青年节”);
    sFestival.put(“0601″,”儿童节”);
    sFestival.put(“0701″,”建党节”);
    sFestival.put(“0801″,”建军节”);
    sFestival.put(“0910″,”教师节”);
    sFestival.put(“1001″,”国庆节”);
    sFestival.put(“1031″,”万圣节”);
    sFestival.put(“1112″,”孙中山诞辰”);
    sFestival.put(“1225″,”圣诞节”);
    sFestival.put(“1226″,”毛泽东诞辰”);
    //};
    //某月第几个星期几
    //起始年(4位)+月(2位)+第几个(1位)+星期几(1位)
    HashMap<String,String>  wFestival =new  HashMap<String,String>();
    //String []wFestival={
    wFestival.put(“0520″,”母亲节”);
    wFestival.put(“0630″,”父亲节”);
    wFestival.put(“1144″,”感恩节”);
    //};
    //农历 99表示月最后一天
    HashMap<String,String>  lFestival =new  HashMap<String,String>();
    //String []lFestival={
    lFestival.put(“0101″,”春 节”);
    lFestival.put(“0102″,”大年初二”);
    lFestival.put(“0103″,”大年初三”);
    lFestival.put(“0115″,”元宵节”);
    lFestival.put(“0505″,”端午节”);
    lFestival.put(“0707″,”七 夕”);
    lFestival.put(“0815″,”中秋节”);
    lFestival.put(“0909″,”重阳节”);
    lFestival.put(“1208″,”腊八节”);
    lFestival.put(“1299″,”除 夕”);
    //};
       
    /////////////////////////////////////////////////////////////
       
       //////////////////////////////////////////////////// 
          this.calendar = calendar;
          today = calendar.get(Calendar.DAY_OF_MONTH);
          int month = calendar.get(Calendar.MONTH);
          int weekindexDay;
       int weekindexMonth;
      
       calendar.set(Calendar.DATE,1);
      
      while(calendar.get(Calendar.MONTH)==month)
      {   weekindexMonth=calendar.get(Calendar.WEEK_OF_MONTH)-1;
          weekindexDay=calendar.get(Calendar.DAY_OF_WEEK)-1;
          int day=calendar.get(Calendar.DAY_OF_MONTH);
          ///////////////////////////////////////////////
          String today_,month_;
          today_ =day < 10?  “0” + day:”” + day;
          month_ =month<10?  “0” +(month+1):””+(month+1);
          Lunar lunar = new Lunar(calendar);
          String lunar_= lunar.toString();
          ///////////////////////////////////////////
          if( null != sFestival.get(month_+today_))
               lunar_=”<font color=red>”+sFestival.get(month_+today_);
          ///////
          String wFestival_=month_+(weekindexMonth)+(weekindexDay);
         
          if( null != wFestival.get(wFestival_)){
           lunar_=”<font color=red>”+wFestival.get(wFestival_);
           System.out.println(wFestival_);
          }
             
         
         
         
          if( null != lFestival.get(lunar.numeric_md()))
              lunar_=”<font color=red>”+lFestival.get(lunar.numeric_md());
         
         
             
          //计算除夕
          Calendar temp_calendar = Calendar.getInstance();
          temp_calendar.set(calendar.get(Calendar.YEAR),month,day+1);
         
          //temp_calendar.add(Calendar.DAY_OF_MONTH,1);
          Lunar temp_lunar = new Lunar(temp_calendar);
          String temp_str = temp_lunar.numeric_md();
           if(temp_str.equals(“0101”))
              lunar_=”<font color=red>”+lFestival.get(“1299”);
          ///计算除夕结束
          //////////////////////////////////////////
          String day_str;
          if(day<10) day_str=”<html><center><font size=6>”+today_;
          else       day_str=”<html><center><font size=6>”+today_;
         
          day_str+=”</font><br>”+lunar_;
       
          if(day==today)
             datas[weekindexMonth][weekindexDay].setForeground(Color.GREEN);
          datas[weekindexMonth][weekindexDay].setText(day_str);
          calendar.add(Calendar.DATE,1);
      } 
         
         
         
     /////////////////////////////////////////////////    
        }
        public  void actionPerformed(ActionEvent e){//日期和年份的选择更新
         int year = Integer.parseInt(year_box.getSelectedItem().toString()) ;
         int month= Integer.parseInt(month_box.getSelectedItem().toString())-1 ;
         calendar.set(year,month,today);
         clear_Data();
            initializtion_Data(calendar);
        }
        class LookAndFeel_Listener implements ActionListener{//选择外观的样式
     public void actionPerformed(ActionEvent ev){
      JRadioButton o = (JRadioButton)ev.getSource();
      String str=o.getText();
      if(“c” == str){
       try {UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
                } catch(Exception e) { e.printStackTrace(); }
      }else if(“s” == str){
       try{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
                 } catch(Exception e) {e.printStackTrace();}
      }else if(“m” == str){
       try{UIManager.setLookAndFeel(“com.sun.java.swing.plaf.motif.MotifLookAndFeel”);}
                catch(Exception e) {e.printStackTrace(); }
      }
      SwingUtilities.updateComponentTreeUI(Simple_Calendar.this);
       }
     
        }
        class Statement_Listener implements ActionListener{//显示声明信息
         JDialog dialog=null;
         public void actionPerformed(ActionEvent ev){
            String statment = “<html>阴历及节日程序 2008 beta1″;
             statment +=”<br>免费软件(Free Software) 你可以无限传播与反编译.”;
             statment +=”<br>该日历有三种外观样式,有从1900年至2049年间的所有阴历.”;
             statment +=”<br>个人爱好开发  作者:朱春 Email:npuxbd@163.com”;
             statment +=”<br>Copyright @ 2008- All Rights Reserved”;
            dialog=new  JDialog(Simple_Calendar.this, “阴历及节日软件 2008 beta1”,true);
                  dialog.setLayout(null);
                  dialog.setBounds(285,215,365,185);
                  JLabel label_s = new JLabel(statment);//label_s.setBackground(Color.RED);
                  JButton button=new JButton(“确 定”);
                  button.addActionListener(new ActionListener(){
                   public void actionPerformed(ActionEvent evet){
                      dialog.setVisible(false);
                   }
                  });
                  dialog.add(label_s);label_s.setBounds(20,0,365,100);
                  dialog.add(button);  button.setBounds(145,110,65,25);
                  dialog.setVisible(true);
           }
         
        }
        class List_MouseListener implements MouseListener{//鼠标移入时显示的信息
         JLabel labe=null;
         String weeks[]={“星期日”,”星期一”,”星期二”,”星期三”,
                                      “星期四”,”星期五”,”星期六”};
                                     

     

            public String constellation(Calendar cal){
      
                    String [][]con ={
                         {“水瓶座”,”0122″,”0221″},
                         {“双鱼座”,”0222″,”0321″},
                         {“白羊座”,”0322″,”0420″},
                         {“金牛座”,”0421″,”0521″},
                         {“双子座”,”0522″,”0621″},
                         {“巨蟹座”,”0621″,”0721″},
                         {“狮子座”,”0722″,”0821″},
                         {“处女座”,”0822″,”0921″}, 
                         {“天秤座”,”0922″,”1021″},
                         {“天蝎座”,”1022″,”1121″},
                         {“射手座”,”1122″,”1221″},
                         {“摩羯座”,”1222″,”0121″}};
                    int month=cal.get(Calendar.MONTH)+1;
                    int today=cal.get(Calendar.DAY_OF_MONTH);
                    String month_str=month<10?”0″+month:””+month;
                    String today_str=today<10?”0″+today:””+today;
                    String str=month_str+today_str;
                    for( int i = 0 ; i < con.length-1 ; i++ )
                    {
                         if(Integer.parseInt(str) >= Integer.parseInt(con[i][1]) && Integer.parseInt(str) <= Integer.parseInt(con[i][2]))
                            return con[i][0]; 
                     
                    }
                    if((Integer.parseInt(str) >= Integer.parseInt(con[11][1]) && Integer.parseInt(str) < 1232) ||  Integer.parseInt(str) <=Integer.parseInt( con[11][2]) )
                       return  con[11][0];
           
                   return “error!”;
            }
           
         public void mouseClicked(MouseEvent e) {//鼠标按键在组件上单击(按下并释放)时调用。
            
            }    
            public void mouseEntered(MouseEvent e) {//鼠标进入到组件上时调用。
                 labe=(JLabel)e.getSource();
                 String lab =labe.getText();
                 if(lab != “”){
                  labe.setBackground(Color.red);
                  String day=lab.substring(lab.indexOf(“size=6>”)+7,lab.indexOf(“</font>”));
                    //String lun=lab.substring(lab.indexOf(“<br>”)+4);
                    String message = “<html><body><center>公元 “+year_box.getSelectedItem()+”年”+
                                     month_box.getSelectedItem()+”月”+Integer.parseInt(day)+”日”;
                    calendar.set(Integer.parseInt(year_box.getSelectedItem().toString()),
                                 Integer.parseInt(month_box.getSelectedItem().toString())-1,
                                 Integer.parseInt(day));
                    Lunar lunar=new Lunar(calendar);
                    message+=”<br><font color=red>”+weeks[(calendar.get(calendar.DAY_OF_WEEK)-1)];
                    message+=”&nbsp;&nbsp;&nbsp;&nbsp;”+constellation(calendar)+”</font><br>农历 “;
                    message+=lunar.get_month()+”月”+lunar.get_Big_Or_Small()+”&nbsp;&nbsp;&nbsp;&nbsp;”+lunar.get_date()+”日”;
                    //message+=lunar.get_JQ();
                    labe.setToolTipText(message);
                    labe.setBackground(Color.BLUE);
                    labe.setOpaque(true);
                   // System.out.println(day+”:”+lun);
                 }
                
            } 
            public void mouseExited(MouseEvent e) {//  鼠标离开组件时调用。
                      
            
                            labe.setBackground(null);
                            labe.setOpaque(true);
            }
            public void mousePressed(MouseEvent e) {//  鼠标按键在组件上按下时调用。
           
            }
            public void mouseReleased(MouseEvent e) {//  鼠标按钮在组件上释放时调用。
            }

     

        }
        /////////////////////////////////////////////////////////
        private JLabel datas[][]=new JLabel[6][7];//显示一月的日期
        private JLabel temp_label=null;
        private  JLabel label=null;
        private JPanel panel_Header,panel_Week,panel_Calendar;
        private Calendar calendar=null;
        private  JComboBox  year_box = null ;
        private  JComboBox month_box = null ;
        private int today ;
        private JRadioButton cross=null,system=null,motif=null;
        private ButtonGroup feel_group=null;
        private JButton show_help =null;
       
         
    }

     

     

     

    /*
     *以下是阴历对象;
     * 是从网络中得来的;
     */
      class  Lunar  {
         private   int  year;
         private   int  month;
         private   int  day;
         private   boolean  leap;
         final   static  String chineseNumber[]  =   { “一”,”二”,”三”,”四”,”五”,”六”,”七”,”八”,”九”,”十”,”十一”,”十二”};
         final   static  String Big_Or_Small[]  =    { “大”,”小”,”大”,”小”,”大”,”小”,”大”,”大”,”小”,”大”,”小”  ,”大”};
         private String[] LunarHolDayName =
                {
                    “小寒”, “大寒”, “立春”, “雨水”,
                    “惊蛰”, “春分”, “清明”, “谷雨”,
                    “立夏”, “小满”, “芒种”, “夏至”,
                    “小暑”, “大暑”, “立秋”, “处暑”,
                    “白露”, “秋分”, “寒露”, “霜降”,
                    “立冬”, “小雪”, “大雪”, “冬至”};

     

        
         static  SimpleDateFormat chineseDateFormat  =   new  SimpleDateFormat( ” yyyy年MM月dd日 ” );
         final   static   long [] lunarInfo  =   new   long []
         { 0x04bd8 ,  0x04ae0 ,  0x0a570 ,  0x054d5 ,  0x0d260 ,  0x0d950 ,  0x16554 ,  0x056a0 ,  0x09ad0 ,  0x055d2 ,
          0x04ae0 ,  0x0a5b6 ,  0x0a4d0 ,  0x0d250 ,  0x1d255 ,  0x0b540 ,  0x0d6a0 ,  0x0ada2 ,  0x095b0 ,  0x14977 ,
          0x04970 ,  0x0a4b0 ,  0x0b4b5 ,  0x06a50 ,  0x06d40 ,  0x1ab54 ,  0x02b60 ,  0x09570 ,  0x052f2 ,  0x04970 ,
          0x06566 ,  0x0d4a0 ,  0x0ea50 ,  0x06e95 ,  0x05ad0 ,  0x02b60 ,  0x186e3 ,  0x092e0 ,  0x1c8d7 ,  0x0c950 ,
          0x0d4a0 ,  0x1d8a6 ,  0x0b550 ,  0x056a0 ,  0x1a5b4 ,  0x025d0 ,  0x092d0 ,  0x0d2b2 ,  0x0a950 ,  0x0b557 ,
          0x06ca0 ,  0x0b550 ,  0x15355 ,  0x04da0 ,  0x0a5d0 ,  0x14573 ,  0x052d0 ,  0x0a9a8 ,  0x0e950 ,  0x06aa0 ,
          0x0aea6 ,  0x0ab50 ,  0x04b60 ,  0x0aae4 ,  0x0a570 ,  0x05260 ,  0x0f263 ,  0x0d950 ,  0x05b57 ,  0x056a0 ,
          0x096d0 ,  0x04dd5 ,  0x04ad0 ,  0x0a4d0 ,  0x0d4d4 ,  0x0d250 ,  0x0d558 ,  0x0b540 ,  0x0b5a0 ,  0x195a6 ,
          0x095b0 ,  0x049b0 ,  0x0a974 ,  0x0a4b0 ,  0x0b27a ,  0x06a50 ,  0x06d40 ,  0x0af46 ,  0x0ab60 ,  0x09570 ,
          0x04af5 ,  0x04970 ,  0x064b0 ,  0x074a3 ,  0x0ea50 ,  0x06b58 ,  0x055c0 ,  0x0ab60 ,  0x096d5 ,  0x092e0 ,
          0x0c960 ,  0x0d954 ,  0x0d4a0 ,  0x0da50 ,  0x07552 ,  0x056a0 ,  0x0abb7 ,  0x025d0 ,  0x092d0 ,  0x0cab5 ,
          0x0a950 ,  0x0b4a0 ,  0x0baa4 ,  0x0ad50 ,  0x055d9 ,  0x04ba0 ,  0x0a5b0 ,  0x15176 ,  0x052b0 ,  0x0a930 ,
          0x07954 ,  0x06aa0 ,  0x0ad50 ,  0x05b52 ,  0x04b60 ,  0x0a6e6 ,  0x0a4e0 ,  0x0d260 ,  0x0ea65 ,  0x0d530 ,
          0x05aa0 ,  0x076a3 ,  0x096d0 ,  0x04bd7 ,  0x04ad0 ,  0x0a4d0 ,  0x1d0b6 ,  0x0d250 ,  0x0d520 ,  0x0dd45 ,
          0x0b5a0 ,  0x056d0 ,  0x055b2 ,  0x049b0 ,  0x0a577 ,  0x0a4b0 ,  0x0aa50 ,  0x1b255 ,  0x06d20 ,  0x0ada0 } ;
         
              // ====== 传回农历 y年的总天数
         final   private   static   int  yearDays( int  y)  {
             int  i, sum  =   348 ;
             for  (i  =   0x8000 ; i  >   0x8 ; i  >>=   1 )  {
                 if  ((lunarInfo[y  –   1900 ]  &  i)  !=   0 ) sum  +=   1 ;
            }
             return  (sum  +  leapDays(y));
        }

     

         // ====== 传回农历 y年闰月的天数
         final   private   static   int  leapDays( int  y)  {
             if  (leapMonth(y)  !=   0 )  {
                 if  ((lunarInfo[y  –   1900 ]  &   0x10000 )  !=   0 )
                     return   30 ;
                 else
                     return   29 ;
            }   else
                 return   0 ;
        }

     

         // ====== 传回农历 y年闰哪个月 1-12 , 没闰传回 0
         final   private   static   int  leapMonth( int  y)  {
             return  ( int ) (lunarInfo[y  –   1900 ]  &   0xf );
        }

     

         // ====== 传回农历 y年m月的总天数
         final   private   static   int  monthDays( int  y,  int  m)  {
             if  ((lunarInfo[y  –   1900 ]  &  ( 0x10000   >>  m))  ==   0 )
                 return   29 ;
             else
                 return   30 ;
        }

     

         // ====== 传回农历 y年的生肖
         final   public  String animalsYear()  {
             final  String[] Animals  =   new  String[] { “鼠”,”牛”,”虎”,”兔”,”龙”,”蛇”,”马”,”羊”,”猴”,”鸡”,”狗”,”猪”};
            return  Animals[(year  –   4 )  %   12 ];
        }

     

         // ====== 传入 月日的offset 传回干支, 0=甲子
         final   private   static  String cyclicalm( int  num)  {
             final  String[] Gan  =   new  String[] { “甲”,”乙”,”丙”,”丁”,”戊”,”己”,”庚”,”辛”,”壬”,”癸”};
             final  String[] Zhi  =   new  String[] { “子”,”丑”,”寅”,”卯”,”辰”,”巳”,”午”,”未”,”申”,”酉”,”戌”,”亥”};
             return  (Gan[num  %   10 ]  +  Zhi[num  %   12 ]);
        }

     

         // ====== 传入 offset 传回干支, 0=甲子
         final   public  String cyclical()  {
             int  num  =  year  –   1900   +   36 ;
             return  (cyclicalm(num));
        }

     

         /** */ /**
         * 传出y年m月d日对应的农历.
         * yearCyl3:农历年与1864的相差数              ?
         * monCyl4:从1900年1月31日以来,闰月数
         * dayCyl5:与1900年1月31日相差的天数,再加40      ?
         *  @param  cal
         *  @return 
          */
         public  Lunar(Calendar cal)  {
          //cal.add(cal.get(Calendar.DAY_OF_MONTH),1);
            @SuppressWarnings( ” unused ” )  int  yearCyl, monCyl, dayCyl;
             int  leapMonth  =   0 ;
            Date baseDate  =   null ;
             try   {
                baseDate  =  chineseDateFormat.parse( ” 1900年1月31日 ” );
            }   catch  (ParseException e)  {
                e.printStackTrace();   // To change body of catch statement use Options | File Templates.
            }

     

             // 求出和1900年1月31日相差的天数
             int  offset  =  ( int ) ((cal.getTime().getTime()  –  baseDate.getTime())  /   86400000L );
            dayCyl  =  offset  +   40 ;
            monCyl  =   14 ;

     

             // 用offset减去每农历年的天数
             //  计算当天是农历第几天
             // i最终结果是农历的年份
             // offset是当年的第几天
             int  iYear, daysOfYear  =   0 ;
             for  (iYear  =   1900 ; iYear  <   2050   &&  offset  >   0 ; iYear ++ )  {
                daysOfYear  =  yearDays(iYear);
                offset  -=  daysOfYear;
                monCyl  +=   12 ;
            }
             if  (offset  <   0 )  {
                offset  +=  daysOfYear;
                iYear — ;
                monCyl  -=   12 ;
            }
             // 农历年份
            year  =  iYear;

     

            yearCyl  =  iYear  –   1864 ;
            leapMonth  =  leapMonth(iYear);  // 闰哪个月,1-12
            leap  =   false ;

     

             // 用当年的天数offset,逐个减去每月(农历)的天数,求出当天是本月的第几天
             int  iMonth, daysOfMonth  =   0 ;
             for  (iMonth  =   1 ; iMonth  <   13   &&  offset  >   0 ; iMonth ++ )  {
                 // 闰月
                 if  (leapMonth  >   0   &&  iMonth  ==  (leapMonth  +   1 )  &&   ! leap)  {
                     — iMonth;
                    leap  =   true ;
                    daysOfMonth  =  leapDays(year);
                }   else
                    daysOfMonth  =  monthDays(year, iMonth);

     

                offset  -=  daysOfMonth;
                 // 解除闰月
                 if  (leap  &&  iMonth  ==  (leapMonth  +   1 )) leap  =   false ;
                 if  ( ! leap) monCyl ++ ;
            }
             // offset为0时,并且刚才计算的月份是闰月,要校正
             if  (offset  ==   0   &&  leapMonth  >   0   &&  iMonth  ==  leapMonth  +   1 )  {
                 if  (leap)  {
                    leap  =   false ;
                }   else   {
                    leap  =   true ;
                     — iMonth;
                     — monCyl;
                }
            }
             // offset小于0时,也要校正
             if  (offset  <   0 )  {
                offset  +=  daysOfMonth;
                 — iMonth;
                 — monCyl;
            }
            month  =  iMonth;
            day  =  offset  +   1 ;
        }

     

         public   static  String getChinaDayString( int  day)  {
            String chineseTen[]  =   { “初” ,  “十” ,  “廿” ,  “卅” } ;
             int  n  =  day  %   10   ==   0   ?   9  : day  %   10   –   1 ;
             if  (day  >   30 )
                 return   “” ;
             if  (day  ==   10 )
                 return   “初十” ;
             else
                 return  chineseTen[day  /   10 ]  +  chineseNumber[n];
        }

     

        public  String toString()  {
             return  /*cyclical() +   “年”   + */ (leap  ?   “闰”  :  “” )  +  chineseNumber[month  –   1 ]  +   “月”   +  getChinaDayString(day);
        }
        public String numeric_md(){//返回阿拉伯数字的阴历日期
         String temp_day;
         String temp_mon;
         temp_mon=month<10?”0″+month:””+month;
         temp_day=day < 10?”0″+ day:””+ day;
         
         return temp_mon+temp_day;
        }
        public String get_month(){//返回阴历的月份
         return chineseNumber[month  –   1 ];
        }
        public String get_date(){//返回阴历的天
         return getChinaDayString(day);
        }
        public String get_Big_Or_Small(){//返回的月份的大或小
         return Big_Or_Small[month  –   1 ];
        }
       
       
    }
      class SwingConsole {//提供安全线程机制
     public static void run(final JFrame f,final int width,final int height){
      SwingUtilities.invokeLater(new Runnable(){
       public void run(){
       
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setSize(width,height);
        f.setVisible(true);
       }
      });
     }
    }

     

  • zenoven转:Java之环境配置大全

    安装JDK
        从http://java.sun.com/下载jdk-1_5_0_04-windows-i586-p.exe
        安装到指定路径,我选择D:jdk1.5.0
        配置环境变量:
        JAVA_HOME: D:jdk1.5.0
        PATH: D:jdk1.5.0in;
        CLASSPATH: .;D:jdk1.5.0lib ools.jar;D:jdk1.5.0jrelib t.jar;

    安装WTK
        从http://java.sun.com/下载j2me_wireless_toolkit-2_2-windows.exe
        安装到指定路径,我选择D:WTK22

    安装Eclipse
        从http://www.eclipse.org/下载eclipse-SDK-3.0.1-win32.zip和
        NLpack-eclipse-SDK-3.0.x-win32.zip(语言包)
        解压缩eclipse-SDK-3.0.1-win32.zip即可,我的路径:D:MyDevelopToolseclipse
        解压缩NLpack-eclipse-SDK-3.0.x-win32.zip,得到features和plugins两个文件夹,把里面的文件分别拷入eclipse中相应的目录下即可
        
    安装Tomcat
        从http://jakarta.apache.org/下载jakarta-tomcat-5.5.9.zip
        解压缩jakarta-tomcat-5.5.9.zip即可
        配置环境变量:
        Tomcat_Home: D:MyDevelopTools omcat-5.5.9
        PATH: D:MyDevelopTools omcat-5.5.9;

    在eclipse中配置J2ME开发环境:
    安装eclipseme:
        从http://www.eclipseme.org/下载eclipseme.feature_0.9.4_site.zip
        在eclipse中选择帮助-〉软件更新-〉查找并安装-〉搜索要安装的新功能部件-〉新建已归档的站点
        选择eclipseme.feature_0.9.4_site.zip,打开-〉选择eclipseme.feature_0.9.4_site.zip,剩下的一直下一步就可以了。安装完成会在窗口-〉首选项中出现J2ME
    修改JAVA-〉调试:
        选中JAVA-〉调试,把暂挂执行的前两项点去,通信中的调试器超时改为15000
    配置WTK
        窗口-〉首选项-〉J2ME-〉Platform Components
        右键单击对话框右侧的Wireless Toolkit,选择Add Wireless Toolkit,
        选择WTK安装目录,eclipse会自动匹配。

    在eclipse中配置J2EE开发环境(Tomcat5.5.9):
    安装EMF-RunTime:
        从http://www.eclipseme.org/下载emf-sdo-runtime-2.0.1.zip
        解压缩emf-sdo-runtime-2.0.1.zip,得到features和plugins两个文件夹,把里面的文件分别拷入eclipse中相应的目录下即可。    
    安装Lomboz:
        从http://forge.objectweb.org下载org.objectweb.lomboz_3.0.1.N20050106.zip解压缩org.objectweb.lomboz_3.0.1.N20050106.zip,得到features和plugins两个文件夹,把里面的文件分别拷入eclipse中相应的目录下。如果在窗口-〉首选项中有Lomboz选项就安装正确,如果没有,在D:eclipseconfiguration下删除org.eclipse.update这个文件夹,再重起eclipse就可以了。
    配置Lomboz:
        在D:eclipsepluginscom.objectlearn.jdt.j2ee_3.0.1servers下新建一个文件tomcat559.server,里面的内容从tomcat50x.server全部复制过来,把name=”Apache Tomcat v5.0.x”替换成name=”Apache Tomcat v5.5.9″,然后把所有的
    “${serverRootDirectory}/bin;${serverRootDirectory}/common/endorsed”替换成
    “${serverRootDirectory}/common/endorsed”就可以了。然后进入eclipse,窗口-〉首选项-〉Lomboz,把JDK Tools.jar改为:D:jdk1.5.0lib ools.jar,窗口-〉首选项-〉Lomboz-〉Server Definitions,在Server types中选择Tomcat5.5.9在Application Server Directory和Classpath Variable的路径改为D:/MyDevelopTools/tomcat-5.5.9先应用,再确定就可以了。

  • Zenoven:今天正式落伍!

    最近为了落伍花了很大的精力,不过付出终有回报,今天我终于落伍了~~ 哈哈~

    luowu

  • zenoven转:Eclipse快捷键大全

    Ctrl+1 快速修复(最经典的快捷键,就不用多说了)
    Ctrl+D: 删除当前行
    Ctrl+Alt+↓ 复制当前行到下一行(复制增加)
    Ctrl+Alt+↑ 复制当前行到上一行(复制增加)
    Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)
    Alt+↑ 当前行和上面一行交互位置(同上)
    Alt+← 前一个编辑的页面
    Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)
    Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性
    Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)
    Shift+Ctrl+Enter 在当前行插入空行(原理同上条)
    Ctrl+Q 定位到最后编辑的地方
    Ctrl+L 定位在某行 (对于程序超过100的人就有福音了)
    Ctrl+M 最大化当前的Edit或View (再按则反之)
    Ctrl+/ 注释当前行,再按则取消注释
    Ctrl+O 快速显示 OutLine
    Ctrl+T 快速显示当前类的继承结构
    Ctrl+W 关闭当前Editer
    Ctrl+K 参照选中的Word快速定位到下一个
    Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)
    Ctrl+/(小键盘) 折叠当前类中的所有代码
    Ctrl+×(小键盘) 展开当前类中的所有代码
    Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替)
    Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)
    Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)
    Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)
    Ctrl+Shift+F4 关闭所有打开的Editer
    Ctrl+Shift+X 把当前选中的文本全部变味小写
    Ctrl+Shift+Y 把当前选中的文本全部变为小写
    Ctrl+Shift+F 格式化当前代码
    Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)

    下面的快捷键是重构里面常用的,本人就自己喜欢且常用的整理一下(注:一般重构的快捷键都是Alt+Shift开头的了)
    Alt+Shift+R 重命名 (是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力)
    Alt+Shift+M 抽取方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)
    Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)
    Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)
    Alt+Shift+F 把Class中的local变量变为field变量 (比较实用的功能)
    Alt+Shift+I 合并变量(可能这样说有点不妥Inline)
    Alt+Shift+V 移动函数和变量(不怎么常用)
    Alt+Shift+Z 重构的后悔药(Undo)

    编辑
    作用域 功能 快捷键
    全局 查找并替换 Ctrl+F
    文本编辑器 查找上一个 Ctrl+Shift+K
    文本编辑器 查找下一个 Ctrl+K
    全局 撤销 Ctrl+Z
    全局 复制 Ctrl+C
    全局 恢复上一个选择 Alt+Shift+↓
    全局 剪切 Ctrl+X
    全局 快速修正 Ctrl1+1
    全局 内容辅助 Alt+/
    全局 全部选中 Ctrl+A
    全局 删除 Delete
    全局 上下文信息 Alt+?
    Alt+Shift+?
    Ctrl+Shift+Space
    Java编辑器 显示工具提示描述 F2
    Java编辑器 选择封装元素 Alt+Shift+↑
    Java编辑器 选择上一个元素 Alt+Shift+←
    Java编辑器 选择下一个元素 Alt+Shift+→
    文本编辑器 增量查找 Ctrl+J
    文本编辑器 增量逆向查找 Ctrl+Shift+J
    全局 粘贴 Ctrl+V
    全局 重做 Ctrl+Y

    查看
    作用域 功能 快捷键
    全局 放大 Ctrl+=
    全局 缩小 Ctrl+-

    窗口
    作用域 功能 快捷键
    全局 激活编辑器 F12
    全局 切换编辑器 Ctrl+Shift+W
    全局 上一个编辑器 Ctrl+Shift+F6
    全局 上一个视图 Ctrl+Shift+F7
    全局 上一个透视图 Ctrl+Shift+F8
    全局 下一个编辑器 Ctrl+F6
    全局 下一个视图 Ctrl+F7
    全局 下一个透视图 Ctrl+F8
    文本编辑器 显示标尺上下文菜单 Ctrl+W
    全局 显示视图菜单 Ctrl+F10
    全局 显示系统菜单 Alt+-

    导航
    作用域 功能 快捷键
    Java编辑器 打开结构 Ctrl+F3
    全局 打开类型 Ctrl+Shift+T
    全局 打开类型层次结构 F4
    全局 打开声明 F3
    全局 打开外部javadoc Shift+F2
    全局 打开资源 Ctrl+Shift+R
    全局 后退历史记录 Alt+←
    全局 前进历史记录 Alt+→
    全局 上一个 Ctrl+,
    全局 下一个 Ctrl+.
    Java编辑器 显示大纲 Ctrl+O
    全局 在层次结构中打开类型 Ctrl+Shift+H
    全局 转至匹配的括号 Ctrl+Shift+P
    全局 转至上一个编辑位置 Ctrl+Q
    Java编辑器 转至上一个成员 Ctrl+Shift+↑
    Java编辑器 转至下一个成员 Ctrl+Shift+↓
    文本编辑器 转至行 Ctrl+L

    搜索
    作用域 功能 快捷键
    全局 出现在文件中 Ctrl+Shift+U
    全局 打开搜索对话框 Ctrl+H
    全局 工作区中的声明 Ctrl+G
    全局 工作区中的引用 Ctrl+Shift+G

    文本编辑
    作用域 功能 快捷键
    文本编辑器 改写切换 Insert
    文本编辑器 上滚行 Ctrl+↑
    文本编辑器 下滚行 Ctrl+↓

    文件
    作用域 功能 快捷键
    全局 保存 Ctrl+X
    Ctrl+S
    全局 打印 Ctrl+P
    全局 关闭 Ctrl+F4
    全局 全部保存 Ctrl+Shift+S
    全局 全部关闭 Ctrl+Shift+F4
    全局 属性 Alt+Enter
    全局 新建 Ctrl+N

    项目
    作用域 功能 快捷键
    全局 全部构建 Ctrl+B

    源代码
    作用域 功能 快捷键
    Java编辑器 格式化 Ctrl+Shift+F
    Java编辑器 取消注释 Ctrl+\
    Java编辑器 注释 Ctrl+/
    Java编辑器 添加导入 Ctrl+Shift+M
    Java编辑器 组织导入 Ctrl+Shift+O
    Java编辑器 使用try/catch块来包围 未设置,太常用了,所以在这里列出,建议自己设置。
    也可以使用Ctrl+1自动修正。

    运行
    作用域 功能 快捷键
    全局 单步返回 F7
    全局 单步跳过 F6
    全局 单步跳入 F5
    全局 单步跳入选择 Ctrl+F5
    全局 调试上次启动 F11
    全局 继续 F8
    全局 使用过滤器单步执行 Shift+F5
    全局 添加/去除断点 Ctrl+Shift+B
    全局 显示 Ctrl+D
    全局 运行上次启动 Ctrl+F11
    全局 运行至行 Ctrl+R
    全局 执行 Ctrl+U

    重构
    作用域 功能 快捷键
    全局 撤销重构 Alt+Shift+Z
    全局 抽取方法 Alt+Shift+M
    全局 抽取局部变量 Alt+Shift+L
    全局 内联 Alt+Shift+I
    全局 移动 Alt+Shift+V
    全局 重命名 Alt+Shift+R
    全局 重做 Alt+Shift+Y

  • 接近落伍,百度Google继续收录 加油

    这几天发现IP大部分都是来自WP中文论坛的自己的帖子,这样实在是不行。

    后来去了落伍那里好多好多高手,然后发了些帖子,落伍的朋友们都很热心,我现在也快落伍了,哈哈~~  支持我下,朋友们。。

    最近百度也多收录了我的网站,Google的也增多了。。哈哈~~

    加油

  • Zenoven转:七夕感人的浪漫沙画

    qixicut1

     

    qixicut2

  • Zenoven转:网友超强山寨WIN7

第1页,共3页123