Java 在主类中找不到符号(帮助,D:) 因此,在我的课堂上,我必须编写一个程序,要求用户输入猫和狗的名字和种族,并输出结果。直到最后一部分才基本完成。
它一直给我,在第一部分下找不到符号。猫/狗;下划线表示找不到Symbol无法找出原因::请帮帮我…我不想这么说,但您当前的程序设计不正确,非常不正确: 首先,猫和狗都应该从哺乳动物延伸出来 但话说回来,哺乳动物需要完全重新编写——它应该没有用户界面代码,没有扫描仪,没有println,相反,它应该有狗和猫共享的状态字段和行为方法。 您的Cat和Dog类可能应该具有非默认构造函数,应该具有具有允许设置字段的参数的构造函数。您当前的构造函数具有如下调用。name=name;将字段设置为空值,因为这些构造函数没有参数。 e、 g 用户界面代码,即使用Scanner并在其中包含println的代码,应该在其他地方,很可能您只需要在主方法中包含它,无论您放置在哪里,例如L3CComputerScience类。 也许您会在L3CComputerScience中为createCat和createDog使用静态方法,但请确保这些方法不是无效方法,而是分别返回Cat或Dog对象。 考虑给这些方法一个扫描器参数,以便主方法可以将扫描仪传递给它使用的方法。 e、 gJava 在主类中找不到符号(帮助,D:) 因此,在我的课堂上,我必须编写一个程序,要求用户输入猫和狗的名字和种族,并输出结果。直到最后一部分才基本完成。,java,Java,它一直给我,在第一部分下找不到符号。猫/狗;下划线表示找不到Symbol无法找出原因::请帮帮我…我不想这么说,但您当前的程序设计不正确,非常不正确: 首先,猫和狗都应该从哺乳动物延伸出来 但话说回来,哺乳动物需要完全重新编写——它应该没有用户界面代码,没有扫描仪,没有println,相反,它应该有狗和猫共享的状态字段和行为方法。 您的Cat和Dog类可能应该具有非默认构造函数,应该具有具有允许设置字段的参数的构造函数。您当前的构造函数具有如下调用。name=name;将字段设置为空值,因为这些
同样,对于createCat,根据您的要求: 首先,您需要在main方法中创建哺乳动物类对象,因为createCat和createDog方法都在哺乳动物类中 第二,您将使用哺乳动物类,它驻留在 包装名为L3CComputerScience,因此导入L3CComputerScience.哺乳类 最后,您的L3CComputerScience.java文件如下所示:
import l3c3computerscience.Mammal;
public class L3C3ComputerScience {
public static void main(String[] args) {
Mammal mammal = new Mammal();
mammal.createCat();
mammal.createDog();
mammal.display();
}
}
并按顺序运行:
javac -d . Cat.java
javac -d . Dog.java
javac -d . Mammal.java
javac L3C3ComputerScience.java
java L3C3ComputerScience
希望它能满足你的要求
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package l3c3computerscience;
/**
*
* @author Xander
*/
public class Cat
{
private String name;
private String race;
public Cat()
{
this.name = name;
this.race = race;
}
public void setName(String name)
{
this.name = name;
}
public void setRace(String race)
{
this.race = race;
}
public String getName()
{
return this.name;
}
public String getRace()
{
return this.race;
}
public void display()
{
System.out.println("The cat's name is" + name);
System.out.println("The cat's race is" + race);
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package l3c3computerscience;
/**
*
*/
public class Dog
{
private String name;
private String race;
public Dog()
{
this.name = name;
this.race = race;
}
public void setName(String name)
{
this.name = name;
}
public void setRace(String race)
{
this.race = race;
}
public String getName()
{
return name;
}
public String getRace()
{
return race;
}
public void display()
{
System.out.println("The dog's name is" + name);
System.out.println("The dog's race is" + race);
}
}
public Dog(String name, String race) {
this.name = name;
this.race = race;
}
public static Dog createDog(Scanner input) {
// code to interact with user and create a dog
String name = // ..... use input to get name from user
String race = // ..... use input to get race from user
// use the new constructor you've created that takes parameters
Dog dog = new Dog(name, race);
// return the Dog from the method to the caller
return dog;
}
import l3c3computerscience.Mammal;
public class L3C3ComputerScience {
public static void main(String[] args) {
Mammal mammal = new Mammal();
mammal.createCat();
mammal.createDog();
mammal.display();
}
}
javac -d . Cat.java
javac -d . Dog.java
javac -d . Mammal.java
javac L3C3ComputerScience.java
java L3C3ComputerScience