有人可以查看我的代码并确定我的代答功能无法正常工作的原因。
- 为这些程序编写缺少的方法
- 在我的班级里,我已经定义了pickUp方法:
public Head()
{
}
public void pickUp(String object)
{
this.object = object;
System.out.println("Picked up "+object);
}
public String getObject()
{
return object;
}
public void drop()
{
System.out.println("Dropped "+object);
object = null;
}
public void bark()
{
System.out.println("WOOF!");
}
public String toString()
{
return "Head is holding "+ object;
}
}
- 我正在使用该方法的另一个类:
public class Dog
{
private int position;
private Leg hind1;
private Leg hind2;
private Leg front1;
private Leg front2;
private Head head = new Head();
//Constructor for Dog class
public Dog(int position)
{
hind1 = new Leg(position-2);
hind2 = new Leg(position-2);
front1 = new Leg(position+2);
front2 = new Leg(position+2);
}
public void walk()
{
front1.step();
front2.step();
hind1.step();
hind2.step();
System.out.println("Pitter patter...");
}
public String toString()
{
return "Head is holding " + head+", Leg at "+hind1.position+", Leg at "+ hind2.position+", Leg at "+front1.position+", Leg at "+front2.position;
}
public void pickup()
{
head.pickUp(head.object);
}
public void drop()
{
head.drop();
}
public void bark()
{
head.bark();
}
PS。 head是我创建的一个新对象,它属于Head类,这是第一个代码所在的位置。我正在尝试让第二个代码显示一个拾取的拾取对象。
-EDIT:即使我确实放了一个字符串(例如head.pickUp(“ball”);),当我尝试时它仍会显示“找不到符号 - method.pickUp(java.lang.String)”运行程序。
答案 0 :(得分:2)
编辑(第三次!):既然你已经发布了你的代码,我已经确认我的答案是正确的。 Tl; dr - 你在设置之前尝试使用head.object。你应该传递给pickUp的是一个字符串,它代表你想要拾取的对象的名称。例如,head.pickUp(“ball”);
如果你能通过“不工作”澄清一点你的意思会有所帮助 - 但是,看起来你在这里遇到了一种鸡蛋问题:
如果我正确阅读,您的代码看起来像这样吗? (在评论中包括整个课程可能有帮助)
public class Head {
String object;
public void pickUp(String object)
{
this.object = object;
System.out.println("Picked up "+object);
}
}
public class SomeOtherClass {
Head head = new Head();
public void pickup()
{
head.pickUp(head.object);
}
}
为了清楚起见,再次编辑(再次) - 看起来你正在尝试使用拾取功能(SomeOtherClass中的那个)来定义头部的对象属性。但是,通过使用head.object调用它,您可以假定已经定义了head.object。你在哪里设置你想要使用的字符串?
你在这里想要完成的事情并不是很清楚 - 但你可能想要尝试1)在head class的构造函数中设置head.object。或者2)使用除head.object之外的字符串调用head.pickUp(尚未设置)。 - 尝试用“Hello World”替换head.object,对于初学者来说。或者,如果我完全误解了你的意图,或许给我们更多的背景?
已编辑 - 因为我意识到你的拾取功能不在Head。