Java 构造函数声明中的语法错误:';{&òx27;预期
我不明白我对这个构造器做了什么错事:Java 构造函数声明中的语法错误:';{&òx27;预期,java,Java,我不明白我对这个构造器做了什么错事: public class Student(String first_name, String last_name, int home1, int home2,int quiz1, int quiz2, int quiz3, int exam1, int exam2) { fname=first_name; lname=last_name; hw1_grade=home1; hw2_grade=home2; qu
public class Student(String first_name, String last_name, int home1, int home2,int quiz1, int quiz2, int quiz3, int exam1, int exam2)
{
fname=first_name;
lname=last_name;
hw1_grade=home1;
hw2_grade=home2;
quiz1_grade=quiz1;
quiz2_grade=quiz2;
quiz3_grade=quiz3;
exam1_grade=exam1;
exam2_grade=exam2;
}
public class Student {
//fields
String fname;
String lname;
//... etc.
//here you declare your constructor, like so:
public Student(String first_name, String last_name, int home1, int home2,int quiz1, int quiz2, int quiz3, int exam1, int exam2)
{
fname=first_name;
lname=last_name;
hw1_grade=home1;
hw2_grade=home2;
quiz1_grade=quiz1;
quiz2_grade=quiz2;
quiz3_grade=quiz3;
exam1_grade=exam1;
exam2_grade=exam2;
}
}
编译器说:{应该是。
另外:
public class Student(String first_name, String last_name, int home1, int home2,int quiz1, int quiz2, int quiz3, int exam1, int exam2)
{
fname=first_name;
lname=last_name;
hw1_grade=home1;
hw2_grade=home2;
quiz1_grade=quiz1;
quiz2_grade=quiz2;
quiz3_grade=quiz3;
exam1_grade=exam1;
exam2_grade=exam2;
}
public class Student {
//fields
String fname;
String lname;
//... etc.
//here you declare your constructor, like so:
public Student(String first_name, String last_name, int home1, int home2,int quiz1, int quiz2, int quiz3, int exam1, int exam2)
{
fname=first_name;
lname=last_name;
hw1_grade=home1;
hw2_grade=home2;
quiz1_grade=quiz1;
quiz2_grade=quiz2;
quiz3_grade=quiz3;
exam1_grade=exam1;
exam2_grade=exam2;
}
}
另外,在我看来,对于构造函数来说,这些参数太多了。为什么不只包括最基本的参数(名字、姓氏等)然后使用setter方法设置考试分数?构造函数在类定义中声明。因此,首先定义调用,然后在类定义中实现构造函数:
public class Student(String first_name, String last_name, int home1, int home2,int quiz1, int quiz2, int quiz3, int exam1, int exam2)
{
fname=first_name;
lname=last_name;
hw1_grade=home1;
hw2_grade=home2;
quiz1_grade=quiz1;
quiz2_grade=quiz2;
quiz3_grade=quiz3;
exam1_grade=exam1;
exam2_grade=exam2;
}
public class Student {
//fields
String fname;
String lname;
//... etc.
//here you declare your constructor, like so:
public Student(String first_name, String last_name, int home1, int home2,int quiz1, int quiz2, int quiz3, int exam1, int exam2)
{
fname=first_name;
lname=last_name;
hw1_grade=home1;
hw2_grade=home2;
quiz1_grade=quiz1;
quiz2_grade=quiz2;
quiz3_grade=quiz3;
exam1_grade=exam1;
exam2_grade=exam2;
}
}
public class Student {
private String fname;
private String lname;
private int hw1_grade;
private int hw2_grade;
private int quiz1_grade;
private int quiz2_grade;
private int quiz3_grade;
private int exam1_grade;
private int exam2_grade;
public Student(String first_name, String last_name, int home1, int home2, int quiz1, int quiz2, int quiz3,
int exam1, int exam2) {
fname = first_name;
lname = last_name;
hw1_grade = home1;
hw2_grade = home2;
quiz1_grade = quiz1;
quiz2_grade = quiz2;
quiz3_grade = quiz3;
exam1_grade = exam1;
exam2_grade = exam2;
}
}
另外,在我看来,这些参数对于构造函数来说太多了。为什么不只包括最基本的参数(名字、姓氏等),然后使用setter方法设置考试分数?如果您试图声明一个类,请使用:
public class Student {
private String fname;
private String lname;
private int hw1_grade;
private int hw2_grade;
private int quiz1_grade;
private int quiz2_grade;
private int quiz3_grade;
private int exam1_grade;
private int exam2_grade;
public Student(String first_name, String last_name, int home1, int home2, int quiz1, int quiz2, int quiz3,
int exam1, int exam2) {
fname = first_name;
lname = last_name;
hw1_grade = home1;
hw2_grade = home2;
quiz1_grade = quiz1;
quiz2_grade = quiz2;
quiz3_grade = quiz3;
exam1_grade = exam1;
exam2_grade = exam2;
}
}
公共班级学生{
//声明;
}
否则,如果您试图声明类的构造函数,则:
公共班级学生{
//参数化构造函数
公立学生(//参数){
//身体
}
}
如果您试图声明一个类,请使用:
公共班级学生{
//声明;
}
否则,如果您试图声明类的构造函数,则:
公共班级学生{
//参数化构造函数
公立学生(//参数){
//身体
}
}
那不是一个构造函数。它是一个格式错误的类声明。这应该是它自己的类声明,还是在一个实际的学生
类中?在一个学生类中,我应该将其包含在程序中,从第一行删除“class”一词。构造函数应该只是公共学生(……)这就是我最初的想法,但是编译器只是说它是一个无效的方法声明。它是在学生
类还是学生
类中?构造函数的名称必须与类的名称相同。请你的问题显示封闭的类声明。那不是一个构造函数。它是一个格式错误的类声明。是吗这应该是它自己的类声明,或者这是在一个实际的学生
类中?在一个学生类中,我应该将其包含在程序中,从第一行删除“class”一词。构造函数应该只是公共学生(……)这就是我最初的想法,但是编译器只是说它是一个无效的方法声明。它是在student
类还是student
类中?构造函数的名称必须与类的名称相同。请回答你的问题以显示封闭的类声明。很抱歉,我忘记添加该部分,但我确实定义了它l最初,我刚刚在学生构造函数前面放置了void:public void student(String…)这似乎解决了问题,但我仍然不确定我所做的是否正确以及原因。@Gettin'Stupider无需道歉。这对我来说也曾经是新的。很抱歉,我忘了添加那个部分,但我最初确实定义了它,我刚才在学生构造函数前面放了void:public void student(String…)这似乎解决了问题,但我仍然不确定我所做的是否是正确的,以及为什么是正确的。@Gettin'Stupider不需要道歉。这对我来说也曾经是新的。