创建一个新的日期(Date)类
a)其中应该包含3个整型成员变量,分别为year、month和day。
b)为Date类创建两个构造函数,其中一个不带参数,另一个接受3个参数,分别为year、month和day,在构造函数中为相应的实例成员变量进行初始化。
c)提供一个打印日期的方法。
d)编写一个main方法,在该方法中创建一个名为birthday的Date对象,用该Date对象来表示你自己的生日,并打印。
class Date{
private int year; // 年
private int month; // 月
private int day; // 日
//--- 构造函数 ---//
Day(int year, int month, int day) {
this.year = year; // 年
this.month = month; // 月
this.day = day; // 日
}
//--- 获取年、月、日 ---//
int getYear() { return year; } // 获取年
int getMonth() { return month; } // 获取月
int getDay() { return day; } // 获取日
//--- 设置年、月、日 ---//
void setYear(int year) { this.year = year; } // 设置年
void setMonth(int month) { this.month = month; } // 设置月
void setDay(int day) { this.day= day; } // 设置日
void set(int year, int month, int day) { // 设置年月日
this.year = year; // 年
this.month = month; // 月
this.day= day; // 日
}
//--- 计算星期 --//
int dayOfWeek() {
int y = year; // 0 … 星期日
int m = month; // 1 … 星期一
if (m == 1 || m == 2) { // :
y--; // 5 … 星期五
m += 12; // 6 … 星期六
}
return (y + y / 4 - y / 100 + y / 400 + (13 * m + 8) / 5 + day) % 7;
}
}
import java.util.Scanner;
class Date {
private int year;
private int month;
private int day;
public Date(int day, int month, int year) {
this.year = year;
this.month = month;
this.day = day;
}
public Date() {
this(0, 0, 0);
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
public int getMonth() {
return month;
}
public void setMonth(int month) {
this.month = month;
}
public int getDay() {
return day;
}
public void setDay(int day) {
this.day = day;
}
@Override
public String toString() {
return this.year + "-" + this.month + "-" + this.day;
}
}
class Person {
private String name;
private long phoneNumber;
private Date birthday;
private static final Scanner scanner = new Scanner(System.in);
public Person(String name, long phoneNumber, Date birthday) {
this.name = name;
this.phoneNumber = phoneNumber;
this.birthday = birthday;
}
public Person(String name, long phoneNumber) {
this(name, phoneNumber, new Date());
}
public Person() {
this("", 0L);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
// 键盘输入姓名
public void setName() {
System.out.print("请输入姓名:");
this.name = scanner.nextLine();
}
public long getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(long phoneNumber) {
this.phoneNumber = phoneNumber;
}
// 键盘输入手机号码
public void setPhoneNumber() {
System.out.print("请输入电话号码:");
this.phoneNumber = scanner.nextLong();
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public void setBirthday(int day, int month, int year) {
this.birthday = new Date(year, month, day);
}
public void setBirthday() {
System.out.print("请输入出生日期:");
Date date = new Date();
date.setYear(scanner.nextInt());
date.setMonth(scanner.nextInt());
date.setDay(scanner.nextInt());
this.setBirthday(date);
}
public void printInfo() {
System.out.println("姓名:" + this.name + ", 手机号码:" + this.phoneNumber + ", 出生日期:" + this.birthday);
}
}
public class Demo1 {
public static void main(String[] args) {
Person student1 = new Person();
student1.setName();
student1.setPhoneNumber();
student1.setBirthday();
student1.printInfo();
Person student2 = new Person("LiSi", 189101016666L);
student2.setBirthday(1, 10, 1949);
student2.printInfo();
Person student3;
Date birthday = new Date(14, 2, 1980);
student3 = new Person("WangWu", 18710108888L, birthday);
student3.printInfo();
}
}
class Date {
private int year, month, day;
public Date(int year, int month, int day) {
this.year = year;
this.month = month;
this.day = day;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
public int getMonth() {
return month;
}
public void setMonth(int month) {
this.month = month;
}
public int getDay() {
return day;
}
public void setDay(int day) {
this.day = day;
}
public Date() {
}
public void print() {
System.out.println("year:" + year + ",month:" + month + ",day:" + day);
}
}
public class Main {
public static void main(String[] args) {
Date birthday = new Date(1970, 1, 1);
birthday.print();
}
}