JAVA:1、编写一个学生类,类名为Student,包含如下成员:
1、编写一个学生类,类名为Student,包含如下成员:成员变量:1)变量名:name;类型:String;访问权限:private2)变量名:ID;类型...
1、编写一个学生类,类名为Student,包含如下成员:
成员变量:
1)变量名:name;类型:String;访问权限:private
2)变量名:ID;类型:String;访问权限:private
3)变量名:score;类型:double类型的数组;访问权限:private
说明:其中变量name表示学生的姓名、ID表示学号、score数组表示数学、语文、英语三门功课的成绩。
构造方法:public Student(String a,String b)
方法功能:用于为成员变量name和ID赋初值。将形参a赋值给name,b赋值给ID。
成员方法:
1)方法声明:public String getName()//用于获得变量name的值。
2)方法声明:public String getID()//用于获得变量ID的值。
3)方法声明:public boolean setScore(double fenshu[])
功能:用于给score数组赋值。只要有一门功课的成绩小于0或大于100,则返回false,否则将fenshu赋值给score,并返回true。
4)方法声明:public double [] getScore()//用于获得score数组的值。
5)方法声明:public double sum()//用于计算成绩总分。
6)方法声明:public double average()//用于计算平均分。
7)方法声明:public double [] max_min()//用于计算最高分和最低分。
8)方法声明:public void printf()//打印成绩的总分、平均分、最高分和最低分。
在同一源文件中建立另外一个类:Teststudent,该类中只包含一个主函数。在主函数中建立Student类的对象,使用构造方法为name和ID赋初值。使用setScore方法为score数组赋初值,如果分数赋值合法,则计算成绩总分、平均分、最高分和最低分,并打印输出。
卡在了3)方法声明:public boolean setScore(double fenshu[])
功能:用于给score数组赋值。只要有一门功课的成绩小于0或大于100,则返回false,否则将fenshu赋值给score,并返回true。和7)方法声明:public double [] max_min()//用于计算最高分和最低分。求求各位大佬了! 展开
成员变量:
1)变量名:name;类型:String;访问权限:private
2)变量名:ID;类型:String;访问权限:private
3)变量名:score;类型:double类型的数组;访问权限:private
说明:其中变量name表示学生的姓名、ID表示学号、score数组表示数学、语文、英语三门功课的成绩。
构造方法:public Student(String a,String b)
方法功能:用于为成员变量name和ID赋初值。将形参a赋值给name,b赋值给ID。
成员方法:
1)方法声明:public String getName()//用于获得变量name的值。
2)方法声明:public String getID()//用于获得变量ID的值。
3)方法声明:public boolean setScore(double fenshu[])
功能:用于给score数组赋值。只要有一门功课的成绩小于0或大于100,则返回false,否则将fenshu赋值给score,并返回true。
4)方法声明:public double [] getScore()//用于获得score数组的值。
5)方法声明:public double sum()//用于计算成绩总分。
6)方法声明:public double average()//用于计算平均分。
7)方法声明:public double [] max_min()//用于计算最高分和最低分。
8)方法声明:public void printf()//打印成绩的总分、平均分、最高分和最低分。
在同一源文件中建立另外一个类:Teststudent,该类中只包含一个主函数。在主函数中建立Student类的对象,使用构造方法为name和ID赋初值。使用setScore方法为score数组赋初值,如果分数赋值合法,则计算成绩总分、平均分、最高分和最低分,并打印输出。
卡在了3)方法声明:public boolean setScore(double fenshu[])
功能:用于给score数组赋值。只要有一门功课的成绩小于0或大于100,则返回false,否则将fenshu赋值给score,并返回true。和7)方法声明:public double [] max_min()//用于计算最高分和最低分。求求各位大佬了! 展开
2个回答
展开全部
//设置分数
public boolean setScore(double[] score) {
//判断分数是否合法
boolean ck=checkScore(score);
//合法,返回true,并设置score
if (ck){
this.score = score;
return true;
}else{
return false;
}
}
//判断分数是否合法
public boolean checkScore(double[] score){
for (int i=0;i<score.length;i++){
//数据不合法,直接返回
if (score[i]<0||score[i]>100){
return false;
}
}
return true;
}
public double[] max_min(){
//用于存放最大值和最小值
double [] max_min=new double[2];
//声明最大最小值,并附初始值
double max=score[0];
double min=score[0];
for (int i=0;i<score.length;i++){
if(score[i]>max){
max=score[i];
}
if(score[i]<min){
min=score[i];
}
}
max_min[0]=max;
max_min[1]=min;
return max_min;
}
//main函数赋值
double[]score=new double[]{20,30,40,50,60};
Student st=new Student("百度知道","001");
boolean bl= st.setScore(score);
if (bl){
System.out.println("设置成功");
}else{
System.out.println("设置失败,有异常数据!");
}
展开全部
public boolean setScore(double fenshu[]) {
boolean result = true;
for (int i = 0; i < fenshu.length; i++) {
if (fenshu[i] < 0 || fenshu[i] > 100) {
result = false;
}
}
if (result) {
for (int i = 0; i < fenshu.length; i++) {
this.score[i] = fenshu[i];
}
}
return result;
}
public double[] max_min() {
double[] result = new double[2];
for (int i = 0; i < score.length; i++) {
if (i == 0) {
result[0] = score[i];
result[1] = score[i];
} else {
if (score[i] > result[0]) {
result[0] = score[i];
} else {
result[1] = score[i];
}
}
}
return result;
}
追问
请问在测试类中如何使用setScore方法为score数组赋初值?感谢!
追答
new一个新的double数组,把分数赋值,然后直接调用setScore方法就可以了
new Student student = new Student("张三", "001");
new double[] fenshu = new double[3];
fenshu[0] = 80;
fenshu[1] = 90;
fenshu[2] = 100;
if(student.setScore(fenshu)) {
System.out.println("总分:" + student.sum());
System.out.pritnln("平均分:" + student.average());
System.out.println("最高分:" + student.max_min()[0]);
System.out.rpitnln("最低分:" + student.max_min()[1]);
} else {
System.out.println("分数异常!");
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询