小威先森
2020-04-29 23:35
采纳率: 100%
浏览 114
已结题

这个题该怎么用JAVA写,求助

1.创建类Student,包括属性:
静态属性:学校名称
普通属性:
学号
姓名
数学成绩
网络课成绩
Java成绩
static代码块:提示类被加载

2、封装三门课的成绩,确保成绩为0到100分之间,否则使用
默认值,也就是0分

3、创建三个构造方法:
无参构造方法
初始化学号姓名的有参构造方法
初始化所有属性,除了学校的有参构造方法
4、创建两个普通成员方法:
静态有参方法,分数平均值(注 意整数相除还是整数,但
平均值可能是实数,需要处理这个问题)
非静态无参方法,自我介绍(模板: 大家好,我是XXXX学
校学生,学号YYY,这次考试中,数学AAA分,网络BBB
分,JavaCCC分,平均分为DDD。注意,平均分可以用求平均值的程序来计算)

5、创建另一个类调用Student类,创建两个Student类型的对
象,为其赋予不同的学号、姓名和成绩。通过类名直接调
用静态变量,为学校名属性赋值。然后调用这两个对象的
自我介绍方法。

求详细的注释代码

  • 好问题 提建议
  • 收藏

1条回答 默认 最新

  • 可乐大师 2020-04-30 02:07
    已采纳

    import java.text.DecimalFormat;
    public class Student {

    public static String schoolName;
    public String stuNumber;
    public String stuName;
    private double mathScore;
    private double netScore;
    private double javaScore;
    
    static {
        System.out.println("Student类被加载了。。");
    }
    
    //无参构造方法
    public Student() {};
    
    //初始化学号姓名的有参构造方法
    public Student(String stuNumber, String stuName) {
        this.stuNumber = stuNumber;
        this.stuName = stuName;
    }
    
    //初始化所有属性,除了学校的有参构造方法
    public Student(String stuNumber, String stuName, double mathScore, double netScore, double javaScore) {
        this.stuNumber = stuNumber;
        this.stuName = stuName;
        this.mathScore = mathScore;
        this.netScore = netScore;
        this.javaScore = javaScore;
    }
    
    //静态有参方法,求分数平均值
    public static double scoreAvg(double a ,double b , double c ) {
    
        double num = (a+b+c)/3;
        DecimalFormat df = new DecimalFormat("#.00");//保留两位小数
        String mat = df.format(num);
        return Double.parseDouble(mat);
    
    }
    
    //非静态无参方法,自我介绍
    public void showMe() {
        double avgScore = scoreAvg(mathScore, netScore, javaScore);
    
        System.out.println("大家好,我是"+ schoolName+ "的学生,学号:"+ stuNumber
                +",在这次考试中,数学 "+ mathScore+" 分,网络 "+netScore+" 分,java "+ javaScore+" 分,平均分"+ avgScore);
    }
    
    
    
    //-------封装三门课的成绩--start------------------------
    public double getMathScore() {
        return mathScore;
    }
    public void setMathScore(double mathScore) {
        //确保成绩在0到100之间
        if(mathScore>=0 && mathScore<=100)
            this.mathScore = mathScore;
        else
            this.mathScore= 0;
    }
    public double getNetScore() {
        return netScore;
    }
    public void setNetScore(double netScore) {
        //确保成绩在0到100之间
        if(netScore>=0 && netScore <=100)
            this.netScore = netScore;
        else
            this.netScore = 0;
    }
    public double getJavaScore() {
        return javaScore;
    }
    public void setJavaScore(double javaScore) {
        //确保成绩在0到100之间
        if(javaScore>=0 && javaScore<=100)
            this.javaScore = javaScore;
        else
            this.javaScore = 0;
    }
    
    //-------封装三门课的成绩--end----------------------    
    
    
    //测试运行
    public static void main(String[] args) {
    
        Student s1 = new Student("A001","张三",87,79,93);
        Student s2 = new Student("B242","李四",65,86,81);
        Student.schoolName = "华中科技大学";
        s1.showMe();
        s2.showMe();
    
    }
    

    }

    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题