嘿那裏Stackoverflowers,Java - 靜態構造函數
我剛剛開始在Java中編程,並遇到一個奇怪的問題,有關打印對象。當創建一個類型gast的新對象時,用戶必須輸入他或她的生日。然而,如果我嘗試將其打印出來,我會返回0-0-0。這是爲什麼?順便說一下,如果我直接用參數構造函數創建一個新的數據,它可以正常工作。問題在哪裏?我無法弄清楚。我希望你們能幫助我。
在此先感謝!
public class Datum {
private static String patroon = "\\d{2}-\\d{2}-\\d{4}";
public int dag;
public int maand;
public int jaar;
Datum(int dag, int maand, int jaar) {
System.out.print("constructor: " + dag);
this.dag = dag;
System.out.println(", dag: " + this.dag);
this.maand = maand;
this.jaar = jaar;
}
Datum() {
newDatum();
}
/* */
public static Datum newDatum() {
String input = Opgave5.userInput("Geboortedatum gast");
boolean b = input.matches(patroon);
if (b) {
String[] str = input.split("-");
int dag = Integer.parseInt(str[0]);
int maand = Integer.parseInt(str[1]);
int jaar = Integer.parseInt(str[2]);
Datum datum = new Datum(dag, maand, jaar);
System.out.println(datum);
return datum;
}
else {
return new Datum();
}
}
public String toString() {
return this.dag + "-" + this.maand + "-" + this.jaar;
}
}
二等:
Gast() {
this.firstName = Opgave5.userInput("Voornaam gast");
this.lastName = Opgave5.userInput("Achternaam gast");
this.geboortedatum = new Datum();
System.out.println("gast: " + this.geboortedatum); // <--- this prints out 0-0-0
}
public String toString() {
return this.firstName + " " + this.lastName + " " + this.geboortedatum;
}
謝謝!現在我明白了我的錯誤:) – user3140559 2014-10-02 18:53:15