- 学会覆盖Object类中常用方法;
- 学会使用Math类中常用方法;
- 学会字符串的常用操作;
- 学会常用日期类的使用方法。
1.定义一个名为Square的类表示正方形,它有一个名为length的成员变量表示边长、一个带参数的构造方法;覆盖父类的equals()方法,当边长相等时认为两个Square对象相等,覆盖父类的toString()方法,要求当调用该方法时输出Square对象,格式为Square[length=100],这里100是边长,编码实现上述功能;
2. 编写java应用程序,用户输入两个日期,用程序判断两个日期的大小关系,以及两个日期之间的间隔天数。
- 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 + "]";
}
}
- 日期大小及计算间隔
工具类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 + "天");
}
}
}



