我在编写测试驱动程序时遇到了麻烦

时间:2015-01-06 18:08:26

标签: java testing compiler-errors

我第一次寻求帮助以解决问题,不确定导致问题的原因。我写了这两个类,并且作业要求我让测试驱动程序证明这些类有效。

学生班:

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;
    }
}

和课程课程:

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课程。

1 个答案:

答案 0 :(得分:0)

问题在于,由于Java周围没有引号,编译器会将其作为变量名称。由于它未定义,编译器无法找到它。使用Course one = new Course("Java");