2011-09-02 96 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),您有不匹配的情況。