2011-09-02 92 views
0

我对Java和编程颇为陌生。我正在使用教科书“Java如何编程”。我正在解决一项运动(3.11 p。136)。在这个练习中,我试图获得一个有两个班级的应用程序来打印关于成绩册的信息。应该为该类的两个对象中的每一个输出两个字符串,其中包含以下信息:“gradeBook1课程名称为:CS101 Introduction to Java Programming,讲师是唐老鸭”。关于成绩簿2的一些其他信息。我应该使用get和set-methods,并使用构造函数。我现在工作了很多,而没有管理编译包含主要方法的“gradeBookTest类”。我收到以下错误信息:错误消息“找不到符号”

aGradeBookTest.java:8: cannot find symbol 
symbol : variable gradebook1 
location: class aGradeBookTest 
    System.out.printf("gradeBook1 course name is: emphasized text%s,\n instructor is %s\n", gradeBook1.getCourseName(), gradebook1.getInstructorName()); 
                             ^
aGradeBookTest.java:9: cannot find symbol 
symbol : method getInstructorname() 
location: class aGradeBook 
    System.out.printf("gradebook2 course name is: %s\n, instructor name is: ", gradeBook2.getCourseName(), gradeBook2.getInstructorname());** 

两个类的代码如下:

public class aGradeBook 
{ 
    private String courseName; 
    private String instructorName; 

    public aGradeBook(String name, String iName) 
    { 
     courseName = name; 
     instructorName = iName; 
    } 

    public void setCourseName(String name) 
    { 
     courseName = name; 
    } 

    public String getCourseName() 
    { 
     return courseName; 
    } 

    public void setInstructorName(String iName) 
    { 
     iName = instructorName; 
    } 

    public String getInstructorName() 
    { 
     return instructorName; 
    } 

    public void displayMessage() 
    { 
     System.out.printf ("Welcome to the gradebook for\n%s!\n", getCourseName()); 
    } 
} 

和:

public class aGradeBookTest 
{ 
    public static void main(String[]args) 
    { 
     aGradeBook gradeBook1 = new aGradeBook("CS101 Introduction to Java Programming", "Donald Duck"); 
     aGradeBook gradeBook2 = new aGradeBook("CS102 Data structures in Java", "Tom & Jerry"); 

     System.out.printf("gradeBook1 course name is: %s,\n instructor is %s\n", gradeBook1.getCourseName(), gradebook1.getInstructorName()); 
     System.out.printf("gradebook2 course name is: %s\n, instructor name is: ", gradeBook2.getCourseName(), gradeBook2.getInstructorname()); 
    } 
} 

任何人都可以请帮我,我被困在这里?

+0

'String [] args'应该是:'String [] args'。 – Kevin

回答

3

您在代码中写入gradebook1而不是gradeBook1

gradebook1变量不存在,这就是编译器告诉你的:cannot find symbol symbol : variable gradebook1

+0

谢谢!一个简单的错误...解决了它:-) – user820913

3

也为教师的名字:

public void setInstructorName(String iName) 
    { 
    iName = instructorName; 
    } 

你大概的意思是:

public void setInstructorName(String iName) 
    { 
    instructorName = iName ; // I swapped the variables 
    } 

而在你main方法,你应该叫:

System.out.printf("gradebook2 course name is: %s\n, instructor name is: ", gradeBook2.getCourseName(), gradeBook2.getInstructorName() // Change is from getInstructorname() to getInstructorName() 

使用IDE如Eclipse,Netbeans或IntellijIDEA将帮助您发现这些错误

0

对于方法名称getInstructorname()(应该是getInstructorName())和gradebook1(gradeBook1),您有不匹配的情况。