我正在测试一个Person类,它为一个人的姓名,地址和出生日期建模。
如何设置dob(出生日期)?
这是我的Person类:
import java.util.Date;
public class Person{
private String name;
private String address;
private Date dob;
public Person( ){
name = null;
address = null;
dob = null;
}
public Person(String nameValue, String newAddress, Date newDob){
name = nameValue;
address = newAddress;
dob = newDob;
}
public String getName(){
return name;
}
public void setName(String nameValue){
name = nameValue;
}
public int getAddress(){
return address;
}
public void setAddress(String newAddress){
address = newAddress;
}
public int getDateOfBirth(){
return dob;
}
public void setDateOfBirth(Date newDob){
dob = newDob;
}
public void print(){
System.out.println("Name: " + name);
System.out.println ("Date Of Birth: " + dob);
System.out.println ("Address: " + address);
}
}
PersonTester{
Person a = new Person();
a.setName("John Smith");
a.setDateOfBirth (01/08/1985);??? - doesn't work
答案 0 :(得分:4)
如果您将字段作为数字,则可以使用Calendar对象创建日期。
import java.util.Calendar;
// class definition here, etc...
Calendar cal = Calendar.getInstance();
cal.set(1985, 1, 8); // Assumes MM/dd/yyyy
//cal.set(1985, 8, 1); // Assumes dd/MM/yyyy
// cal.getTime() returns a Date object
a.setDateOfBirth(cal.getTime());
如果它是您之前所述格式的文本,则可以这样做:
import java.text.SimpleDateFormat;
String dateString = "01/08/1985";
// class definition here, etc...
formatter = new SimpleDateFormat("MM/dd/yyyy");
// formatter = new SimpleDateFormat("dd/MM/yyyy");
a.setDateOfBirth(formatter.parse(dateString));
答案 1 :(得分:2)
检查this教程,了解如何将字符串解析为日期
答案 2 :(得分:1)
您需要传入类似日期的对象或要解析的字符串。看起来你传递的是一个整数表达式(计算结果为0)。