听起来有些愚蠢,但是我的toString()方法需要帮助,这很烦人。
我尝试在线查找,因为toString是它正在搞砸的地方,即使在那里,它也“找不到第二个Kid构造函数”,我什至会做其他事情,但不起作用。
好了,所以这是我的代码:

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(我知道,我的第三个参数已关闭,应该是String)已关闭。如果我在第三件事中硬编码一个值,它就会变成麻烦,并说找不到它(上面)。那么如何获取日期并将其拆分呢?

调用此的类如下
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应该返回String

public String toString() {
    return "Name: '" + this.name + "', Height: '" + this.height + "', Birthday: '" + this.bDay + "'";
}

我建议您利用IDE的功能来生成toString方法。不要手工编码。

例如,如果您只需右键单击源代码并选择Source > Generate toString,Eclipse便可以这样做。

10-08 17:25
查看更多