第4次作业类测试代码+140+阮晨曦

类图

修改后代码

NextDate.java

    public static String print(Calendar cal) {
        Date resultDate = cal.getTime();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
        return sdf.format(resultDate);
    }

    public static void nextDate(Calendar cal) {
        cal.add(Calendar.DATE, +1);

    }

    public static String weekDay(Calendar cal) {
        String week[] = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
        cal.add(Calendar.DATE, +1);
        int tmp = cal.get(Calendar.DAY_OF_WEEK);
        return week[tmp - 1];
    }

    public static void lastDate(Calendar cal) {
        cal.add(Calendar.DATE, -2);

    }

}

Frame.java

package nextDate;

import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Calendar;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

import nextDate.NextDate;
public class Frame {
    public static void main(String[] args) {
        final NextDate nextDate=new NextDate();
        /*
         * 界面设计
         */
        JFrame frame = new JFrame("日期计算");
        frame.setLayout(null);
        // label 初始化
        JLabel title = new JLabel("请输入需要计算的年月日");
        JLabel f_year = new JLabel("年:");
        JLabel f_month = new JLabel("月:");
        JLabel f_day = new JLabel("日:");
        JLabel thisWeek = new JLabel("这一天是:");
        JLabel nextDay = new JLabel("下一天是:");
        JLabel lastDay = new JLabel("上一天是:");
        // textfield 初始化
        final JTextField t_year = new JTextField();
        final JTextField t_month = new JTextField();
        final JTextField t_day = new JTextField();
        final JTextField t_thisWeek = new JTextField();
        final JTextField t_nextDay = new JTextField();
        final JTextField t_lastDay = new JTextField();
        // button 初始化以及设置监听事件
        final JButton submit = new JButton("确定");
        final JButton clear = new JButton("清空");
        submit.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO 自动生成的方法存根
                if (e.getSource() == submit) {
                    String Year = t_year.getText();
                    String Month = t_month.getText();
                    String Day = t_day.getText();
                    int month = 0, year = 0, day = 0;
                    year = Integer.parseInt(Year);
                    month = Integer.parseInt(Month);
                    day = Integer.parseInt(Day);
                    int tmp = nextDate.isTrueDate(year, month, day);
                    switch (tmp) {
                    case 0:
                        Calendar cal = Calendar.getInstance();
                        cal.set(year, month - 1, day);
                        nextDate.nextDate(cal);
                        t_nextDay.setText(nextDate.print(cal));
                        nextDate.lastDate(cal);
                        t_lastDay.setText(nextDate.print(cal));
                        t_thisWeek.setText(nextDate.weekDay(cal));
                        break;
                    case 1:
                        JOptionPane.showMessageDialog(null, "年份超过范围 ");
                        break;
                    case 2:
                        JOptionPane.showMessageDialog(null, "月份超过范围 ");
                        break;
                    case 3:
                        JOptionPane.showMessageDialog(null, "日期超过范围 ");
                        break;
                    }

                }
            }

        });
        clear.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO 自动生成的方法存根
                if (e.getSource() == clear) {
                    t_day.setText("");
                    t_month.setText("");
                    t_year.setText("");
                    t_nextDay.setText("");
                    t_lastDay.setText("");
                    t_thisWeek.setText("");
                }
            }
        });

        // 布局和字体设置
        Font ft = new Font("宋体", Font.PLAIN, 20);// 设置显示字体
        title.setFont(ft);
        title.setBounds(62, 62, 500, 25);
        f_year.setFont(ft);
        f_year.setBounds(80, 124, 50, 25);
        f_month.setFont(ft);
        f_month.setBounds(230, 124, 50, 25);
        f_day.setFont(ft);
        f_day.setBounds(380, 124, 50, 25);
        thisWeek.setFont(ft);
        thisWeek.setBounds(62, 248, 200, 25);
        lastDay.setFont(ft);
        lastDay.setBounds(62, 372, 150, 25);
        nextDay.setFont(ft);
        nextDay.setBounds(62, 310, 150, 25);

        t_year.setBounds(130, 124, 50, 25);
        t_month.setBounds(280, 124, 50, 25);
        t_day.setBounds(430, 124, 50, 25);
        t_thisWeek.setBounds(180, 245, 100, 25);
        t_thisWeek.setFont(ft);
        t_thisWeek.setEnabled(false);
        t_nextDay.setBounds(180, 310, 200, 25);
        t_nextDay.setFont(ft);
        t_nextDay.setEnabled(false);
        t_lastDay.setBounds(180, 372, 200, 25);
        t_lastDay.setFont(ft);
        t_lastDay.setEnabled(false);

        submit.setBounds(180, 187, 62, 31);
        clear.setBounds(320, 187, 62, 31);
        frame.add(title);
        frame.add(f_year);
        frame.add(f_month);
        frame.add(f_day);
        frame.add(thisWeek);
        frame.add(nextDay);
        frame.add(lastDay);
        frame.add(t_year);
        frame.add(t_month);
        frame.add(t_day);
        frame.add(t_thisWeek);
        frame.add(t_nextDay);
        frame.add(t_lastDay);
        frame.add(submit);
        frame.add(clear);

        frame.setSize(550, 500);
        frame.setLocation(250, 250);
        frame.setVisible(true);

    }

}

结果

时间: 2024-10-13 15:00:30

第4次作业类测试代码+140+阮晨曦的相关文章

第5次作业类测试代码+140+阮晨曦

1. 代码链接 http://www.cnblogs.com/chenxxiaol/p/6804119.html 2. 界面设计 3. 等价类测试 分析题目 得出对输入的条件要求为 (1)      整数 (2)      三个数 (3)      1≤a≤100 (4)      1≤b≤100 (5)      1≤c≤100 (6)      a<b+c (7)      b<a+ c (8)      c<a+ b (9)    等腰三角形 (10)   等边三角形 (11) 

第4次作业类测试代码+101+谢艳敏

类测试代码的具体要求如下: 界面操作说明补充: 点击OK,如果输入有效,进行相应的数值计算:如果数值不满足约束,则弹出错误说明,统一为"输入有误,请重新输入",然后回到初始输入状态. 点击Cancle,表示重置,清空前面的数据,回到初始状态. (2)NextDate函数问题 String  nextdate(int m,int d,int y) 建立界面,至少包含以下元素,但不限于此: 完成上一天方法:String lastDay(int m,int d,int y) ,完成周几的方法

第4次作业类测试代码+105032014166+张珍珍

第4次作业:准备类测试代码 类测试代码的具体要求如下: (1)设计三角形完整程序 已经完成的方法是:  String triangle(int a,int b,int c) 现在要求继续增加新的功能: 建立界面,至少包含以下元素,但不限于此: 完成面积的方法:float triangleArea(int a,int b,int c) ,完成周长的方法:int perimeter(int a,int b,int c) 要求: 1.        画出类图: 2.        完成界面和相应的功能

第4次作业类测试代码+105032014138+牟平

类测试代码的具体要求如下: 设计三角形完整程序 已经完成的方法是:  String triangle(int a,int b,int c) 现在要求继续增加新的功能: 建立界面,至少包含以下元素,但不限于此: 完成面积的方法:float triangleArea(int a,int b,int c) ,完成周长的方法:int perimeter(int a,int b,int c) 一.类图 二.功能界面 1 2 3 4 5 6 三.代码: import java.awt.EventQueue;

第4次作业类测试代码+105032014125+洪诗育

类测试代码的具体要求如下: 界面操作说明补充: 点击OK,如果输入有效,进行相应的数值计算:如果数值不满足约束,则弹出错误说明,统一为"输入有误,请重新输入",然后回到初始输入状态. 点击Cancle,表示重置,清空前面的数据,回到初始状态. NextDate函数问题 String  nextdate(int m,int d,int y) 建立界面,至少包含以下元素,但不限于此: 完成上一天方法:String lastDay(int m,int d,int y) ,完成周几的方法:in

第4次作业类测试代码+074+林盼皇

(友情提示:代码部分较多,为了便于测试,项目码源已上传至链接:http://pan.baidu.com/s/1pLscU3T 密码:ug8i)  界面: 1.类图 2.界面和相应的功能. 本次实验是在原来的CalDate日期计算类的基础上,添加了两个方法int weekDay(int m,int d,int y)与String lastDate(int m,int d,int y),此外还编写了GUInterface界面.  a.实现lastDate 1 public String lastDa

第4次作业类测试代码+098+吴超

一.类图 二.代码与界面 简单的分层思想,代码目录如下: 计算日期的业务类操作代码:printDate.java;具体包括如下方法. 2.1  增加计算星期几的方法weekDay(),利用蔡勒(Zeller)公式.即w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1: 公式中的符号含义如下,w:星期:c:世纪-1:y:年(两位数):m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1.2月要看作上一年的13.14月来计算,比如2003年1月1日要看作2002年的13月

第4次作业类测试代码+028+刘孝天

一:类图 二:代码:  1:定义接口 1 package jframeTest; 2 /* 3 * @author lxt 4 * @date 2017年5月2日下午4:22:35 5 * @Param 6 */ 7 public interface InteUtil { 8 9 public int perimeter(int a,int b,int c); 10 public float triangleArea(int a,int b,int c); 11 public boolean I

第4次作业类测试代码+085+潘亭

一.类图设计如下 二.界面如下 功能演示 1.输入错误 2.不构成三角形 3.一般三角形 面积默认保留两位小数 4.直角三角形 5.等腰三角形 6.等边三角形 7.cancel演示 防止程序崩溃,默认重置为0 三.代码部分 1.Triangle类 1 package visualTriangle; 2 3 public class Triangle { 4 5 //judge the fields 6 public static boolean Check(int num) 7 { 8 if(n