【发布时间】:2012-05-30 20:05:48
【问题描述】:
听起来有点愚蠢,但我的toString() 方法需要帮助,这很烦人。
我尝试在网上查找,因为toString 是它搞砸的地方并且“没有找到 Kid 构造函数 #2”,即使它在那里,我什至会做其他事情但它不起作用。
好的,这很多,所以这是我的代码:
import java.util.*;
class Kid {
String name;
double height;
GregorianCalendar bDay;
public Kid () {
this.name = "HEAD";
this.height = 1;
this.bDay = new GregorianCalendar(1111,1,1);
}
public Kid (String n, double h, String date) {
// method that toString() can't find somehow
StringTokenizer st = new StringTokenizer(date, "/", true);
n = this.name;
h = this.height;
}
public String toString() {
return Kid(this.name, this.height, this.bDay);
}
} //end class
好的,所以我上面的 toString(我知道,我的第三个参数是关闭的,应该是一个字符串)是关闭的。如果我为第三件事硬编码一个值,它会变得混乱并说它找不到这个(上面)。那么我怎样才能得到日期并将其分解呢?
下面是调用这个的类
class Driver {
public static void main (String[] args) {
Kid kid1 = new Kid("Lexie", 2.6, "11/5/2009");
System.out.println(kid1.toString());
} //end main method
} //end class
我尝试研究多个构造函数,但确实没有帮助。
我尝试研究 toString() 方法,并尝试使用我之前创建的以前的 toString() 方法逻辑,但这是全新的,所以它从来没有工作过。
帮助?
【问题讨论】:
-
请发布实际编译的代码。您的
toString()方法不返回字符串,并且您不能调用这样的构造函数。目前还不清楚你甚至想要达到什么目的。请阅读tinyurl.com/so-hints 并澄清您的问题。 -
Spring 的 ToStringCreator (github.com/SpringSource/spring-framework/tree/master/…) 做得非常好。
-
仅供参考,非常麻烦的旧日期时间类,例如
java.util.Date、java.util.GregorianCalendar和java.text.SimpleDateFormat现在是 legacy,被 Java 8 及更高版本中内置的 java.time 类所取代.见Tutorial by Oracle。
标签: java