Java 在主类中找不到符号(帮助,D:) 因此,在我的课堂上,我必须编写一个程序,要求用户输入猫和狗的名字和种族,并输出结果。直到最后一部分才基本完成。

Java 在主类中找不到符号(帮助,D:) 因此,在我的课堂上,我必须编写一个程序,要求用户输入猫和狗的名字和种族,并输出结果。直到最后一部分才基本完成。,java,Java,它一直给我,在第一部分下找不到符号。猫/狗;下划线表示找不到Symbol无法找出原因::请帮帮我…我不想这么说,但您当前的程序设计不正确,非常不正确: 首先,猫和狗都应该从哺乳动物延伸出来 但话说回来,哺乳动物需要完全重新编写——它应该没有用户界面代码,没有扫描仪,没有println,相反,它应该有狗和猫共享的状态字段和行为方法。 您的Cat和Dog类可能应该具有非默认构造函数,应该具有具有允许设置字段的参数的构造函数。您当前的构造函数具有如下调用。name=name;将字段设置为空值,因为这些

它一直给我,在第一部分下找不到符号。猫/狗;下划线表示找不到Symbol无法找出原因::请帮帮我…

我不想这么说,但您当前的程序设计不正确,非常不正确:

首先,猫和狗都应该从哺乳动物延伸出来 但话说回来,哺乳动物需要完全重新编写——它应该没有用户界面代码,没有扫描仪,没有println,相反,它应该有狗和猫共享的状态字段和行为方法。 您的Cat和Dog类可能应该具有非默认构造函数,应该具有具有允许设置字段的参数的构造函数。您当前的构造函数具有如下调用。name=name;将字段设置为空值,因为这些构造函数没有参数。 e、 g

用户界面代码,即使用Scanner并在其中包含println的代码,应该在其他地方,很可能您只需要在主方法中包含它,无论您放置在哪里,例如L3CComputerScience类。 也许您会在L3CComputerScience中为createCat和createDog使用静态方法,但请确保这些方法不是无效方法,而是分别返回Cat或Dog对象。 考虑给这些方法一个扫描器参数,以便主方法可以将扫描仪传递给它使用的方法。 e、 g


同样,对于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