黑马程序员技术交流社区

标题: 常用类Calendar的练习。。。 [打印本页]

作者: 郭兴业    时间: 2013-4-21 00:43
标题: 常用类Calendar的练习。。。
从键盘输入一个年份,将这一年中所有周日是几号显示出来。

周日是几号如何显示求学长分析。谢谢!
作者: 陈圳    时间: 2013-4-21 23:31
  1. import java.awt.FlowLayout;
  2. import java.awt.event.ActionEvent;
  3. import java.awt.event.ActionListener;
  4. import java.util.Calendar;
  5. import javax.swing.JButton;
  6. import javax.swing.JFrame;
  7. import javax.swing.JOptionPane;
  8. import javax.swing.JScrollPane;
  9. import javax.swing.JTextArea;
  10. import javax.swing.JTextField;
  11. import javax.swing.SwingUtilities;
  12.     /**
  13.     * 从键盘输入一个年份,将这一年中所有周日是几号显示出来。
  14.               周日是几号如何显示求学长分析。谢谢!
  15.     */
  16. class WeekOfYear extends JFrame {
  17.         //创建成员变量
  18.         private JTextField filed = new JTextField(25);
  19.         private JTextArea txt = new JTextArea(5,25);
  20.         private JButton button = new JButton("显示");
  21.         private JButton clear = new JButton("清除");
  22.         private Calendar calendar=Calendar.getInstance();
  23.         public WeekOfYear(){
  24.                 init();
  25.         }
  26.         //初始化窗体和组件
  27.         private void init() {
  28.              setLayout(new FlowLayout());
  29.              setResizable(false);
  30.              setLocation(300,100);
  31.              add(filed);
  32.              add(new JScrollPane(txt));
  33.              add(button);
  34.              add(clear);
  35.              event();
  36.         }
  37.         public void event(){
  38.                 button.addActionListener(new ActionListener(){
  39.                         public void actionPerformed(ActionEvent e){
  40.                                 String str=filed.getText().trim();
  41.                                 if((str.matches("\\D+"))){
  42.                                         JOptionPane.showMessageDialog(null, "请输入中文年份!");
  43.                                         filed.setText("");
  44.                                         return ;
  45.                                 }
  46.                                 int count=1;
  47.                                 int month,day;
  48.                                 for(int i=0;i<7;i++){
  49.                                     calendar.set(Integer.parseInt(str), 0,i);
  50.                                     if(calendar.get(Calendar.DAY_OF_WEEK)==1)
  51.                                             break;
  52.                             }
  53.                                 txt.append("月份:"+(calendar.get(Calendar.MONTH)+1)+" 本月第:"
  54.                                                 +calendar.get(Calendar.DAY_OF_MONTH)+"天\n");
  55.                                 while(calendar.get(Calendar.WEEK_OF_YEAR)!=1){
  56.                                         calendar.add(Calendar.DAY_OF_YEAR, +7);
  57.                                         month=calendar.get(Calendar.MONTH)+1;
  58.                                         day=calendar.get(Calendar.DAY_OF_MONTH);
  59.                                         txt.append("月份:"+month+" 本月第:"+day+"日\n");
  60.                                         count++;
  61.                                 }
  62.                                 txt.append("本月度一共:"+count+"周!");
  63.                         }
  64.                 });
  65.                 clear.addActionListener(new ActionListener(){
  66.                         public void actionPerformed(ActionEvent e){
  67.                                 txt.setText("");
  68.                         }
  69.                 });
  70.         }
  71.         public static void main(String[] args) {
  72.             SwingConsole.run(new WeekOfYear(), 300, 200);
  73.         }
  74. }
  75. public class SwingConsole extends JFrame {
  76.         public static void run(final JFrame frame,final int width,final int height){
  77.                 SwingUtilities.invokeLater(new Runnable(){
  78.                         public void run(){
  79.                                 frame.setVisible(true);
  80.                                 frame.setSize(width,height);
  81.                                 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  82.                         }
  83.                 });
  84.         }
  85. }
复制代码

作者: 郭兴业    时间: 2013-4-21 23:51
谢谢咯  目前的知识面还没达到这块 我会勤奋赶上的  再次表示谢谢哦
作者: 黄玉昆    时间: 2013-4-22 23:13
如果问题解决了,请将问题分类改为“已解决”,谢谢




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