栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

正方形类的定义,比较两个日期的大小并计算其间隔天数

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

正方形类的定义,比较两个日期的大小并计算其间隔天数

实验项目5:常用实用类 一、实验目的和要求
  1. 学会覆盖Object类中常用方法;
  2. 学会使用Math类中常用方法;
  3. 学会字符串的常用操作;
  4. 学会常用日期类的使用方法。
二、实验内容与步骤

1.定义一个名为Square的类表示正方形,它有一个名为length的成员变量表示边长、一个带参数的构造方法;覆盖父类的equals()方法,当边长相等时认为两个Square对象相等,覆盖父类的toString()方法,要求当调用该方法时输出Square对象,格式为Square[length=100],这里100是边长,编码实现上述功能;
2. 编写java应用程序,用户输入两个日期,用程序判断两个日期的大小关系,以及两个日期之间的间隔天数。

三、源代码
  1. Square类的定义
    因Square类未要求测试,故此处仅提供Squar类的定义,读者可自行创建Demo来测试代码
public class Square {
    
    private double length;

    
    public Square(double length) {
        this.length = length;
    }

    
    @Override
    public boolean equals(Object obj) {
        //如果地址相同直接返回true
        if (this == obj)
            return true;
        //如果obj对象不为Square类实例直接返回false
        if (obj instanceof Square) {
            //判断this的边长与obj的边长是否相同并将结果返回
            return length == ((Square) obj).length;
        }
        return false;
    }

    
    @Override
    public String toString() {
        return "Square[length=" + length + "]";
    }
}
  1. 日期大小及计算间隔
    工具类DateUtils类定义
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;


public class DateUtils {
    
    private DateUtils() {

    }

    
    public static Date stringToDate(String s, String format) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        return sdf.parse(s);
    }

    
    public static long datesInterval(Date d1, Date d2) {
        return d1.getTime() - d2.getTime();
    }
}

测试类Demo类

import java.text.ParseException;
import java.util.Date;
import java.util.Scanner;


public class Demo {
    public static void main(String[] args) throws ParseException {
        Scanner sc = new Scanner(System.in);
        //定义日期格式
        String format = "yyyy年MM月dd日";

        //得到两个日期
        System.out.print("请以  "+ format +"  的格式输入第一个日期:");
        Date d1 = DateUtils.stringToDate(sc.nextLine(), format);
        System.out.print("请以  " + format + "  的格式输入第二个日期:");
        Date d2 = DateUtils.stringToDate(sc.nextLine(), format);

        //得到日期的差值并根据差值判断日期大小
        int di = (int) DateUtils.datesInterval(d1, d2);
        if (di == 0) {
            System.out.println("两日期相等");
            System.out.println("两日期相隔0天");
        } else if (di < 0) {
            System.out.println("第一个日期比第二个日期小");
            //di是毫秒精度,1天=1*24*60*60*1000毫秒,所以需要对毫秒进行转换
            System.out.println("两日期相隔" + Math.abs(di) / 1000 / 60 / 60 / 24 + "天");
        } else {
            System.out.println("第一个日期比第二个日期大");
            System.out.println("两日期相隔" + di / 1000 / 60 / 60 / 24 + "天");
        }
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/865706.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号