单个类中的多个字符串?我认为

时间:2013-10-09 20:13:46

标签: java string class

我遇到了一个真正的问题。刚开始使用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 个答案:

答案 0 :(得分:2)

在构造函数声明后,您有一个额外的分号。删除它。

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

您需要一个左大括号{

分号也应该固定在displayMessage方法上。

此外,构造函数很可能应该是public,因此可以从类外部访问它。

此外,教师名称变量在声明和用法中拼写错误:intstructorName应为instructorName,构造函数中的intructorName = startInstructorName;应为instructorName = startInstructorName;,尽管它们是setCourseName拼写错误的方式是合法的。

setInstructorNamevoid getInstructorName中存在其他变量名拼写错误。

您正试图从String返回某些内容。声明它返回String

你有两个重载的构造函数只需要一个{{1}};有两个具有相同名称和签名(参数名称无关紧要)的构造函数(或两个方法)是非法的。我想你只需要其中一个。

答案 1 :(得分:1)

在这里删除;。你需要一个开口{支撑。

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

displayMessage()相同,但已经有

下方的括号
public void displayMessage() // ;

答案 2 :(得分:1)

只是你拼错了“讲师”错误:private String intstructorName;

答案 3 :(得分:1)

有很多很多错误使得这些代码甚至无法构建和运行,也没有提到你想做的事情......

你应该使用像netbeans这样的IDE,告诉你,你的synthax出了什么问题。

工作代码应该是这样的:

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;
    }
}