java 代码问题。我找不到我的错误。 Dog 和 Cat 有下划线

issue with java code . i cant find my mistake. Dog and Cat are undelined

package Exersise3;
import java.util.Scanner;

public class PetsDriver1 {

    public static void main(String[] args) {
        Scanner stdIn = new Scanner(System.in);
        Object obj;
        System.out.print("Which type of pet do you prefer?\n"
            + "Enter d for dogs or c for cats: ");
        if (stdIn.next().equals("d")) {
            obj = new Dog();
        } else {
            obj = new Cat();
        }
        System.out.println(obj.toString());
    }
}

问题是编译器不知道 Dog 或 Cat class 在哪里。以下是告诉编译器如何创建新狗或新猫的步骤

  1. 确保您的项目中有一个 Dog.java 和一个 Cat.java 文件。即使它们与您的 PetsDriver 位于同一个文件夹中,编译器也不会编译它们,除非您将它们添加到您的 netbeans 项目中。
  2. 确保至少 Dog.java 包含

    public class Dog {}

    并且Cat.java包含

    public class Cat {}

  3. 如果Dog.java或Cat.java顶部的包声明不是

    package Exercise3;

    然后您必须在 PetsDriver1 的顶部导入它们的包 class 以便编译器知道在 Exercise3 包之外查找 Cat 或 Dog。 (即,如果 Dog.java 的第一行是 "package Pet;",那么在 PetsDriver1.java 中将 "import Pet.Dog;" 紧跟在 "import java.util.Scanner" 之后)