JAVA表示姓名和对应的出生日期
首先建立一个文件Adate
public class Adate {
private int day;
private Month month;
private int year;
public Adate(int a, Month m, int c) {
day = a;
month = m;
year = c;
}
// 定义输入的变量
public Adate(int a, int Month, int c) {
}
// 最后呈现出来的变量
public void setDay(int a) {
day = a;
}
// 令main方法的第一个输入变量为day
public void setYear(int c) {
year = c;
}
// 令main方法的第三个输入变量为year
public int getDay() {
return day;
}
public Month getMonth() {
return month;
}
public int getYear() {
return year;
}
public Adate copy() {
return new Adate(day, month, year);
}
public String toString() {
if (month == null)
return day + "/???/" + year;
else
return day + "/" + month.toNumber() + "/" + year;
}
// 生成的格式
public enum Month {
JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER;
public int toNumber() {
return ordinal() + 1;
}
public static Month valueOf(int m) {
switch (m) {
case 1:
return JANUARY;
case 2:
return FEBRUARY;
case 3:
return MARCH;
case 4:
return APRIL;
case 5:
return MAY;
case 6:
return JUNE;
case 7:
return JULY;
case 8:
return AUGUST;
case 9:
return SEPTEMBER;
case 10:
return OCTOBER;
case 11:
return NOVEMBER;
case 12:
return DECEMBER;
}
return null;
}
// 将输入的月份对应为数字
}
}
再建立一个Person.java
public class Person {
private static final String NO_NAME = "Unknown";
private String name;
private Adate dateOfBirth;
public Person(String n, Adate d) {
name = n;
dateOfBirth = d;
}
public Person() {
this(NO_NAME, null);
}
// 设置人名,若没输入人名则为null
public void setName(String n) {
name = n;
}
public String getName() {
return name;
}
public void setDateOfBirth(Adate d) {
dateOfBirth = new Adate(0, 0, 0);
}
public Adate getDateOfBirth() {
return dateOfBirth;
}
public String toString() {
return name + "(" + dateOfBirth + ")";
}
// 输出形式为(.../.../...)
}
最后想要运行的话
public class f {
public static void main(String[] args) {
Adate date1 = new Adate(1, Adate.Month.APRIL, 1997);
// 因为main和Month步骤同一个class里面,因此需要用Adate.Month
Person person = new Person(“Homer”, date1);
System.out.println("person: " + person);
Adate date2 = person.getDateOfBirth();
System.out.println("date2: " + date2);
// 也可以直接就加上date1
}
}