2013-10-09 38 views
-1

我遇到了一個真正的問題。僅以Gradebook courseName開始。並有一個setName和getName工作np。然後這本書告訴我也要添加一個指導員字符串。但我只是無法得到它的工作,我已經對現在了3天:\你能幫單個類中的多個字符串?我認爲

import java.util.Scanner; 

public class GradeBook 
{ 

    private String courseName; 
    private String intstructorName; 

    private GradeBook (String startCourseName, String startInstructorName); 
     courseName = startCourseName; 
     intructorName = startInstructorName; 
    } 

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

    public void GradeBook(String nameValue) { 
     instructorName = name; 
    } 

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

    public void setInstructorName(String nameValue) { 
     InstructorName = name; 
    } 

    public void getCourseName(String name) 
    { 
     return courseName; 
    } 

    public void getInstructorName (String nameValue) 
    { 
     return instructorName; 
    } 

    public void displayMessage(); 
    { 
     System.out.printf("Welcome to the grade book for\n%s!\n\n", 
      getCourseName()); 
     System.out.printf("Your instructor for this course is\n%s!\n\n", 
      getinstructorName()); 
    } 

} 

這裏的錯誤

C:\Users\Tony Q\Downloads>Javac GradeBook.java 
GradeBook.java:9: error: ';' expected 
     public GradeBook(String startCourseName, String startInstructorName) 
                      ^
GradeBook.java:11: error: <identifier> expected 
       instructorName = startInstructorName; 
          ^
GradeBook.java:14: error: class, interface, or enum expected 
     public void GradeBook(String name) { 
      ^
GradeBook.java:16: error: class, interface, or enum expected 
     } 
     ^
GradeBook.java:18: error: class, interface, or enum expected 
     public void GradeBook(String nameValue) { 
      ^
GradeBook.java:20: error: class, interface, or enum expected 
     } 
     ^
GradeBook.java:22: error: class, interface, or enum expected 
     public void setCourseName(String name) { 
      ^
GradeBook.java:24: error: class, interface, or enum expected 
     } 
     ^
GradeBook.java:26: error: class, interface, or enum expected 
     public void setInstructorName(String nameValue) { 
      ^
GradeBook.java:28: error: class, interface, or enum expected 
     } 
     ^
GradeBook.java:30: error: class, interface, or enum expected 
     public void getCourseName(String name) 
      ^
GradeBook.java:33: error: class, interface, or enum expected 
     } 
     ^
GradeBook.java:35: error: class, interface, or enum expected 
     public void getInstructorName (String nameValue) 
      ^
GradeBook.java:38: error: class, interface, or enum expected 
     } 
     ^
GradeBook.java:40: error: class, interface, or enum expected 
     public void displayMessage() 
      ^
GradeBook.java:44: error: class, interface, or enum expected 
       System.out.printf("Your instructor for this course is\n%s!\n\n" 
, 
       ^
GradeBook.java:46: error: class, interface, or enum expected 
     } 
     ^
17 errors 
+0

什麼問題? – tbodt

+1

'「但我不能讓它工作」 - 並沒有告訴我們問題是什麼。 –

+0

你做了拼寫'intstructor'。 – tbodt

回答

2

您的聲明之後有一個額外的分號你的構造函數。去掉它。

private GradeBook (String startCourseName, String startInstructorName) // from here 

您需要使用左大括號{代替。

分號應固定在displayMessage方法中。

此外,更可能的是,構造函數應該是public,所以它可以從課程外部訪問。

此外,導師名字變量拼錯的聲明和用法:intstructorName應該是instructorName,並intructorName = startInstructorName;在構造函數應該是instructorName = startInstructorName;,但如果他們被拼錯以同樣的方式,將是合法的。

變量名的其他拼寫錯誤存在於setCourseNamesetInstructorName中。

您試圖從void getInstructorName返回一些東西。聲明它將返回String

你有兩個重載的構造函數,只需要一個String;有兩個具有相同名稱和簽名(參數名稱無關緊要)的構造函數(或兩個方法)是非法的。我想你只需要其中的一個。

+0

完成謝謝。還要別的嗎?即時獲得18錯誤 – user2850549

+4

所有這些錯誤,你甚至不能列出其中的一個... –

+0

好酷,因爲像15錯誤的指向每個行中的「空洞」 – user2850549

1

刪除;這裏。你需要在那裏開一個{大括號。

public GradeBook (String startCourseName, String startInstructorName) { // ; 

同樣的,除了displayMessage()它已經低於

public void displayMessage() // ; 
+0

好的,我得到的錯誤是:;預計在(startxx,xxx)之後。錯誤:類,接口或枚舉期望公共無效GradeBook(字符串名稱)和很多相同的,它指向每行VOID – user2850549

1

支架難道只是你拼寫爲「導師」錯:private String intstructorName;

+0

好吧我修復,仍然18錯誤 – user2850549

+0

突出顯示錯誤>右鍵單擊>複製>堆棧溢出>右鍵點擊>粘貼 –

1

有很多,很多,很多的錯誤,這使得該代碼甚至無法建立和運行,不提做你想做什麼?

你應該使用IDE喜歡的NetBeans,它告訴你,什麼是你的合成器錯了。

工作代碼應該是這樣的:

public class GradeBook { 

    private String courseName; 
    private String intstructorName; 

    public GradeBook(String courseName, String instructorName) { 
     this.courseName = courseName; 
     this.intstructorName = instructorName; 
    } 

    public void displayMessage() 
    { 
     System.out.printf("Welcome to the grade book for\n%s!\n\n", 
       this.getCourseName()); 
     System.out.printf("Your instructor for this course is\n%s!\n\n", 
       this.getIntstructorName()); 
    } 

    /** 
    * @return the courseName 
    */ 
    public String getCourseName() { 
     return courseName; 
    } 

    /** 
    * @param courseName the courseName to set 
    */ 
    public void setCourseName(String courseName) { 
     this.courseName = courseName; 
    } 

    /** 
    * @return the intstructorName 
    */ 
    public String getIntstructorName() { 
     return intstructorName; 
    } 

    /** 
    * @param intstructorName the intstructorName to set 
    */ 
    public void setIntstructorName(String intstructorName) { 
     this.intstructorName = intstructorName; 
    } 
} 
+0

這太棒了!問題是這本書告訴我如何做一個基本的類與設置和獲取和使用字符串。然後它說「現在添加另一個字符串調用講師和重寫程序」,這只是第二章,並沒有解決方案 – user2850549

+0

嗨即時使用netbeans現在,我輸入正確的一切,但我可​​以編譯或運行,一切在「跑步」下變成灰色......一切。 – user2850549

+0

要「運行」某些內容,必須使用「main」方法創建新項目。你不能自己運行類,因爲沒有什麼可運行的。 – libik

相關問題