我第一次伸出援手来解决问题,不确定是什么原因引起的。我有我编写的这两个类,作业要求我做一个测试驱动程序来证明这些类有效。
学生类:
public class Student{
private Course[] courseList;
private static int numCourses;
private final int maxCourses;
public Student(int max){
maxCourses = max;
courseList = new Course[numCourses];
numCourses = 0;
}
// part 1, done
public boolean addCourse(Course newClass){
boolean success = false;
for(int i=0; i<=maxCourses; i++){
if(i == numCourses){
courseList[i] = newClass;
success = true;
numCourses++;
}
}
return success;
}
// part 2, done
public boolean dropCourse(Course oldClass){
boolean success = false;
for(int i=0; i<=courseList.length; i++){
if (courseList[i] == oldClass){
courseList[i] = null;
numCourses--;
success = true;
}
}
return success;
}
// part 3, done.
public int getNumCourses(){
return numCourses;
}
//part 4, done
public boolean isFullTime(){
boolean success = false;
if (numCourses >= 3){
success = true;
}
return success;
}
// part 5, done
public String getClassList(){
String list = "";
for(int i=0;i<=numCourses; i++){
list = courseList[i].getID() + "\t" + courseList[i].getName() + "\n";
}
return list;
}
}
和类(class):
public class Course{
private String name;
private int id;
private static int nextID = 200000;
public Course(String nameIn)
{
name = nameIn;
id = nextID;
nextID++;
}
public String getName(){
return name;
}
public int getID(){
return id;
}
}
由于某种原因,如果我将一个测试驱动程序简化为:
public class tester{
public static void main(String[] args){
Course one = new Course(Java);
}
}
我的参数出现错误,提示找不到符号
javac tester.java
tester.java:6: error: cannot find symbol
one = new Course(name);
^
symbol: variable name
location: class tester
1 error
我有一个更长的测试驱动程序,但是它没有超过前几行,因为这是相同的错误,只是相同错误中的几个。
谢谢你的时间。
编辑:我误将Student类放入了两次,在我的简短测试驱动程序中,唯一使用的类是Course类。
最佳答案
问题在于,由于Java周围没有引号,因此编译器将其用作变量名。由于未定义,因此编译器无法找到它。使用Course one = new Course("Java");