Java 在point类中设置字符串,然后在driver类中使用它
我在为课堂创建程序时遇到问题。我应该得到一只狗的名字和年龄,然后打印它的年龄,名字,和人类年龄的年龄狗的年龄*7 当我试图在point类中设置狗的名字,然后在driver类中使用它时,就会出现问题。我已经包括了我的点类,狗,和我的司机类,犬舍 积分等级:狗Java 在point类中设置字符串,然后在driver类中使用它,java,Java,我在为课堂创建程序时遇到问题。我应该得到一只狗的名字和年龄,然后打印它的年龄,名字,和人类年龄的年龄狗的年龄*7 当我试图在point类中设置狗的名字,然后在driver类中使用它时,就会出现问题。我已经包括了我的点类,狗,和我的司机类,犬舍 积分等级:狗 public class Dog { private double age; private String name; //--------------------------------------------------------
public class Dog
{
private double age;
private String name;
//---------------------------------------------------------------------------------------
// Constructor
//---------------------------------------------------------------------------------------
public Dog()
{
}
public Dog(double age)
{
this.age = age;
}
public void setAge(double age)
{
this.age = age;
}
public double getAge(double age)
{
return age;
}
public Dog(String name)
{
this.name = name;
}
public void setName(String dogName)
{
dogName = this.name;
}
public String getName()
{
return name;
}
public double personYears()
{
return age * 7;
}
public String toString()
{
return "Dog's Name: " + name + " Dog's Age: " + age + " Dog's age in person years: " + personYears();
}
}
驾驶员等级:犬舍
public class Kennel
{
public static void main(String[] args)
{
Dog dog1 = new Dog();
Dog dog2 = new Dog();
Dog dog3 = new Dog();
dog1.setAge(5.0);
dog2.setAge(6.0);
dog2.setAge(7.0);
dog1.setName(Spike);
dog2.setName(Shelby);
dog3.setName(Brutus);
System.out.println(dog1.toString());
System.out.println(dog2.toString());
System.out.println(dog3.toString());
}
}
它没有在代码中显示,但是当我尝试运行驱动程序类时,我在dog.setName方法中得到了一个错误。它说Spike不能解析为一个变量,等等。年龄部分起作用了,只是名字我有问题
非常感谢您的帮助。我四处搜索,找不到任何与我的问题有关的东西。谢谢。这些代码行是错误的。你在哪里告诉编译器这些变量是什么
dog1.setName(Spike);
dog2.setName(Shelby);
dog3.setName(Brutus);
我想你的意思是:
dog1.setName("Spike");
dog2.setName("Shelby");
dog3.setName("Brutus");
现在,这些不是标识符,而是字符串文本。另外,您的setter不正确
public void setName(String dogName){
dogName = this.name;
}
这应该是:
public void setName(String dogName){
this.name = dogName;
}
您不想更改本地参数dogName,您想更改字符串字段名。Dog.getAgeint-age不需要参数。听起来您在调用setName时缺少引号,但是没有看到代码谁能知道呢?字符串应该在双引号内,比如Spike。在这里,我只是在名称中添加了括号,但现在输出显示Dog的名称:null。请检查方法setName。dogName=this.name是错误的方式-反转两侧。噢。我没有意识到订单很重要。谢谢