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 在哪里。以下是告诉编译器如何创建新狗或新猫的步骤
- 确保您的项目中有一个 Dog.java 和一个 Cat.java 文件。即使它们与您的 PetsDriver 位于同一个文件夹中,编译器也不会编译它们,除非您将它们添加到您的 netbeans 项目中。
确保至少 Dog.java 包含
public class Dog {}
并且Cat.java包含
public class Cat {}
如果Dog.java或Cat.java顶部的包声明不是
package Exercise3;
然后您必须在 PetsDriver1 的顶部导入它们的包 class 以便编译器知道在 Exercise3 包之外查找 Cat 或 Dog。 (即,如果 Dog.java 的第一行是 "package Pet;",那么在 PetsDriver1.java 中将 "import Pet.Dog;" 紧跟在 "import java.util.Scanner" 之后)
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 在哪里。以下是告诉编译器如何创建新狗或新猫的步骤
- 确保您的项目中有一个 Dog.java 和一个 Cat.java 文件。即使它们与您的 PetsDriver 位于同一个文件夹中,编译器也不会编译它们,除非您将它们添加到您的 netbeans 项目中。
确保至少 Dog.java 包含
public class Dog {}
并且Cat.java包含
public class Cat {}
如果Dog.java或Cat.java顶部的包声明不是
package Exercise3;
然后您必须在 PetsDriver1 的顶部导入它们的包 class 以便编译器知道在 Exercise3 包之外查找 Cat 或 Dog。 (即,如果 Dog.java 的第一行是 "package Pet;",那么在 PetsDriver1.java 中将 "import Pet.Dog;" 紧跟在 "import java.util.Scanner" 之后)