-1

我有一个真正的问题。从成绩簿课程名称开始。并有一个 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 变量在声明和用法中拼写错误:intstructorName应该是instructorNameintructorName = startInstructorName;在构造函数中应该是instructorName = startInstructorName;,尽管如果它们拼写错误的方式相同,那将是合法的。

变量名的其他拼写错误存在于setCourseName和中setInstructorName

您正试图从void getInstructorName. 声明它返回String

你有两个重载的构造函数,它们正好是一个String;拥有两个具有相同名称和签名(参数名称无关紧要)的构造函数(或两个方法)是非法的。我想你只需要其中之一。

于 2013-10-09T20:15:09.410 回答
1

去掉;这里。你需要一个开口{支架。

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

相同,displayMessage()除了它已经有下面的大括号

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

有很多很多的错误导致这段代码甚至无法构建和运行,更不用说做你想做的了......

您应该使用像 netbeans 这样的 IDE,它会告诉您您的合成器有什么问题。

工作代码应该是这样的:

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;
    }
}
于 2013-10-09T20:22:48.007 回答
1

只是您在以下位置拼错了“instructor”private String intstructorName;吗?

于 2013-10-09T20:15:48.443 回答