wz199510 2015-11-22 03:26 采纳率: 10%
浏览 17337

为什么会The constructor Student() is undefined;

import java.util.*;
public class Myproject5 {
public static void main(String[] args) {
Scanner con=new Scanner(System.in);
System.out.println("请输入需要输入人的个数:");
int b=con.nextInt();
con.nextLine();
for(int j=0;j<b;j++){
System.out.println("请输入您的姓名:");
String nname=con.nextLine();
System.out.println("请输入您的性别:");
String nsex=con.nextLine();
System.out.println("请输入您的年龄:");
int nage=con.nextInt();
System.out.println("请输入您的成绩:");
float nscore=con.nextFloat();
Student stu=new Student();
stu.setName=nname;
stu.setSex=nsex;
stu.setAge=nage;
stu.setScore=nscore;
stu.a();
con.nextLine();
}
}

}
class Student{//student函数
private String name;
private String sex;
private int age;
private float score;
Student(String inName, String inSex,int inAge,float inScore){//setter方法
setName(inName);
setSex(inSex);
setAge(inAge);
setScore(inScore);
}
public void setName(String inName){
name=inName;
}
public void setSex(String inSex){
sex=inSex;
}
public void setAge(int inAge){
age=inAge;
}
public void setScore(float inScore){
score=inScore;
}
public String getName(){//getter方法
return name;
}
public String getSex(){
return sex;
}
public int getAge(){
return age;
}
public float getScore(){
return score;
}
public void a(){
System.out.println("自我介绍:我叫"+name+","+"性别:"+sex+","+"年龄:"+age+","+"分数:"+score);
}
}

  • 写回答

3条回答 默认 最新

  • risepine 2015-11-22 03:40
    关注

    Student 类的默认空构造器需显式进行定义,因为你定义了一个带参的构造器覆盖了默认的,而此时你再使用默认的构造器就会导致异常。
    两种解决方法:1.定义Student类的默认构造器;
    2.使用重载后的Student类带参构造器。

    希望我的回答你能明白,希望能帮到你!

    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!