java初学者遇到的解决不了的问题,求大神指教!

创建两个类Student和Score,其中Score实体中的属性学号(Id)来自于Student中的属性学号(StuId),所以在定义Score中的学号时它的数据类型应写... 创建两个类Student和Score,其中Score实体中的属性学号(Id)来自于Student中的属性学号(StuId),
所以在定义Score中的学号时它的数据类型应写成Student;然后在Score类中定义有参和无
参的构造方法,但Score的有参构造方法的参数学号的数据类型是Student类型,当我们
实际new的时候需要向构造方法中传递学号的时候该如何传?通过score.getId().getStuId()虽然
能获得学号但是int类型,与构造函数的数据类型不符,但如果传score.getId()获取的虽然是Student
对象但获取不了真正的学号,这种问题该如何解决?
展开
 我来答
匿名用户
2015-10-09
展开全部

其实你就不应该把学号定义为Student类型

你应该定义成int类型或者long

但更推荐在Score类中添加Student属性

通过score.getStudent().getStuId()获取学号

不过,你在调用有参构造的时候,必须传入Student对象,而不只是传入学号

public class Student {
private int stuId;
private String name;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getStuId() {
return stuId;
}

public void setStuId(int stuId) {
this.stuId = stuId;
}

}
public class Score {
private Student student;
private double score;
public Score(Student student, double score) {
this.student = student;
this.score = score;
}
public Score() {
}
public Student getStudent() {
return student;
}
public void setStudent(Student student) {
this.student = student;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
}
追问
谢谢,我之前没说清楚,我new Score的有参构造方法是为了向数据库的score表添加内容,如果score的构造参数的的一个参数是Student类型,我根本就加不了东西(因为数据库的id列是int类型,而我用Score.getId().getStuId()也不行),其实我也可以把学号改成int类型,但这样Score和Student就没关联了,所以好纠结
追答
常理来说,stuId是Score表的外键吧
Score.getId().getStuId()应该没问题的啊

会不会是你的Score.getId().getStuId()的值,是Student表里面没有的

导致外键无法匹配,从而无法添加信息
旗流如CE
2015-10-09 · TA获得超过421个赞
知道小有建树答主
回答量:468
采纳率:0%
帮助的人:164万
展开全部
你好!你的提问,只有阿尔伯特·爱因斯坦的哥哥阿尔伯特·爱因斯塔才能帮你解决。我也是爱莫能助啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2725398
2015-10-09 · TA获得超过407个赞
知道小有建树答主
回答量:279
采纳率:40%
帮助的人:124万
展开全部
二楼答案提供了一种解决方法;
还可以在Score类使用:

int StuId =this.Student.getStuId();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式