我第一次寻求帮助以解决问题,不确定导致问题的原因。我写了这两个类,并且作业要求我让测试驱动程序证明这些类有效。
学生班:
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课程。
答案 0 :(得分:0)
问题在于,由于Java周围没有引号,编译器会将其作为变量名称。由于它未定义,编译器无法找到它。使用Course one = new Course("Java");