-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
4

4 に答える 4

2

コンストラクターの宣言の後に余分なセミコロンがあります。それを除く。

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

代わりに左中括弧が必要になり{ます。

displayMessageメソッドのセミコロンも修正する必要があります。

また、おそらくコンストラクターはpublic、クラスの外部からアクセスできるようにする必要があります。

さらに、instructor name 変数は、宣言と使用法でスペルが間違っています: intstructorNameshould beinstructorNameでありintructorName = startInstructorName;、コンストラクターでは should beinstructorName = startInstructorName;ですが、同じようにスペルが間違っている場合は有効です。

およびには、変数名のスペルミスが他にもsetCourseNameありsetInstructorNameます。

から何かを返そうとしていvoid getInstructorNameます。代わりに返すように宣言しStringます。

正確に 1 つを取る 2 つのオーバーロードされたコンストラクターがありStringます。同じ名前とシグネチャ (パラメーター名は関係ありません) を持つ 2 つのコンストラクター (または 2 つのメソッド) を持つことは違法です。そのうちの1つだけが必要だと思います。

于 2013-10-09T20:15:09.410 に答える
1

ここを外し;ます。{そこには開始ブレースが必要です。

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

と同じですdisplayMessage()が、すでに下のブレースがあることを除いて

public void displayMessage() // ;
于 2013-10-09T20:15:21.310 に答える
1

次の「インストラクター」のスペルが間違っているだけprivate String intstructorName;ですか?

于 2013-10-09T20:15:48.443 に答える