我遇到了一个真正的问题。刚开始使用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 :(得分:2)
在构造函数声明后,您有一个额外的分号。删除它。
private GradeBook (String startCourseName, String startInstructorName) // from here
您需要一个左大括号{
。
分号也应该固定在displayMessage
方法上。
此外,构造函数很可能应该是public
,因此可以从类外部访问它。
此外,教师名称变量在声明和用法中拼写错误:intstructorName
应为instructorName
,构造函数中的intructorName = startInstructorName;
应为instructorName = startInstructorName;
,尽管它们是setCourseName
拼写错误的方式是合法的。
setInstructorName
和void 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;
}
}