编写一个Java应用程序。设计一个学生类Students,包括属性有:序号,学号,姓名,性别,专业,三门课程成绩(数学,计算机,英语);包括方法有:求成绩总分,成绩平均分,除序号外各个属性的赋值方法,各个属性值的获取方法等等。说明:每创建一个Students对象,则序号值增1;第一个学生对象的序号值为1。
编写一个主类StudentsDemo.java,利用Students类输入5名同学的三门课成绩,按以下要求输出相关信息:
(1)输入一个学生的学号或者姓名,输出该学生的所有信息。
(2)数学课程最高分同学序号、学号、姓名和课程分数
(3)总分最高/最低同学序号、学号、姓名和课程分数
(4)有没有这样的学生存在:总分大于所有学生的平均成绩,但是至少有一门课不及格(低于60分)。若有,按行输出这些学生的全部信息;若没有,不输出任何信息。

解决方案 »

  1.   

    //第一次登陆这个,给你解决一点吧。package com.ll.person;public class Students
    {
        private static Integer i = 1;
        
        public Students(){
            //初始化时序号默认+1
            studentNum = i++;
        }
        
        //序号,初始化值为0
        private  Integer studentNum;    //学号
        private String studentNo;    //姓名
        private String studentName;    //性别
        private String studentGender;    //专业
        private String studentSpecialty;    //数学成绩
        private Double mathScores;    //计算机成绩
        private Double computerScores;    //英语成绩
        private Double englishScores;    public Integer getStudentNum() {
            return studentNum;
        }    public String getStudentNo() {
            return studentNo;
        }    public void setStudentNo(String studentNo) {
            this.studentNo = studentNo;
        }    public String getStudentName() {
            return studentName;
        }    public void setStudentName(String studentName) {
            this.studentName = studentName;
        }    public String getStudentGender() {
            return studentGender;
        }    public void setStudentGender(String studentGender) {
            this.studentGender = studentGender;
        }    public String getStudentSpecialty() {
            return studentSpecialty;
        }    public void setStudentSpecialty(String studentSpecialty) {
            this.studentSpecialty = studentSpecialty;
        }    public Double getMathScores() {
            return mathScores;
        }    public void setMathScores(Double mathScores) {
            this.mathScores = mathScores;
        }    public Double getComputerScores() {
            return computerScores;
        }    public void setComputerScores(Double computerScores) {
            this.computerScores = computerScores;
        }    public Double getEnglishScores() {
            return englishScores;
        }    public void setEnglishScores(Double englishScores) {
            this.englishScores = englishScores;
        }
        
        public Double getAllScores(){
            return englishScores+computerScores+mathScores;
        }
        
        public Double getAverageScores(){
            return (englishScores+computerScores+mathScores)/3;
        }    @Override
        public String toString() {
            return "序号=" + studentNum + ", 学号=" + studentNo + ", 姓名=" + studentName
                    + ", 性别=" + studentGender + ", 专业=" + studentSpecialty + ", 数学成绩="
                    + mathScores + ", 计算机成绩=" + computerScores + ", 英语成绩=" + englishScores +
                    ", 总分=" + getAllScores() +", 平均分=" + getAverageScores() +"]";
        }
    }
    package com.ll.person;import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;public class StudentsDemo
    {    
        
        public static void main(String[] args) {
            List<Students> list = new ArrayList<>();
            for (int i=0;i<5;i++) {
                list.add(new Students());
            }
            Students s1 = list.get(0);
            s1.setStudentNo("S001");
            s1.setStudentName("张三");
            s1.setStudentGender("男");
            s1.setStudentSpecialty("应用数学");
            s1.setMathScores(100.0);
            s1.setEnglishScores(50.0);
            s1.setComputerScores(90.0);
            //==========================
            Students s2 = list.get(1);
            s2.setStudentNo("J003");
            s2.setStudentName("李四");
            s2.setStudentGender("男");
            s2.setStudentSpecialty("计算机");
            s2.setMathScores(90.0);
            s2.setEnglishScores(90.0);
            s2.setComputerScores(90.0);
            //===========================
            Students s3 = list.get(2);
            s3.setStudentNo("Y002");
            s3.setStudentName("小红");
            s3.setStudentGender("女");
            s3.setStudentSpecialty("英语");
            s3.setMathScores(70.0);
            s3.setEnglishScores(100.0);
            s3.setComputerScores(80.0);
            //===========================
            Students s4 = list.get(3);
            s4.setStudentNo("Y002");
            s4.setStudentName("小红");
            s4.setStudentGender("女");
            s4.setStudentSpecialty("英语");
            s4.setMathScores(70.0);
            s4.setEnglishScores(100.0);
            s4.setComputerScores(80.0);
            //===========================
            Students s5 = list.get(4);
            s5.setStudentNo("S002");
            s5.setStudentName("小明");
            s5.setStudentGender("男");
            s5.setStudentSpecialty("数学");
            s5.setMathScores(70.0);
            s5.setEnglishScores(70.0);
            s5.setComputerScores(80.0);
            //===========================   
            //输入一个学生的学号或者姓名,输出该学生的所有信息
            /*Scanner s = new Scanner(System.in);
            System.out.println("请输入一个学生的学号或者姓名:");
            String str = s.nextLine();
            Students outSt = getStudentByNameOrNo(str, list);
            System.out.println(outSt);*/
            
            //数学课程最高分同学序号、学号、姓名和课程分数
           /* System.out.println("数学课程最高分同学序号、学号、姓名和课程分数");
            Students  maxMath  = getMaxMath(list);
            System.out.println("序号:"+maxMath.getStudentNum()+",学号:"+maxMath.getStudentNo()+",姓名:"+maxMath.getStudentName()+",课程分数:"+maxMath.getMathScores()+"。");*/        //总分最高/最低同学序号、学号、姓名和课程分数
            System.out.println("总分最高/最低同学序号、学号、姓名和课程分数");
            Students  maxAllScores  = getMaxAllScores(list);
            System.out.println("序号:"+maxAllScores.getStudentNum()+",学号:"+maxAllScores.getStudentNo()+",姓名:"+maxAllScores.getStudentName()+",课程分数:"+maxAllScores.getMathScores()+"。");
        
            
        
        }
        
        //通过姓名或者学号获取学生所有信息
        public static Students getStudentByNameOrNo(String NameOrNo,List<Students> list){
            for (Students st : list) {
                if (NameOrNo.equals(st.getStudentName()) || NameOrNo.equals(st.getStudentNo())) {
                    return st;
                }
            }
            return null;
        }
        
        //总分最高/最低同学序号、学号、姓名和课程分数
        public static Students getMaxAllScores(List<Students> list){
            Students  maxAllScores = new Students();
            maxAllScores.setComputerScores(0.0);
            maxAllScores.setEnglishScores(0.0);
            maxAllScores.setMathScores(0.0);
            for (Students st : list) {
                if (st.getAllScores()>maxAllScores.getAllScores()) {
                    maxAllScores = st;
                }
            }
            return maxAllScores;
        }
        
      //数学课程最高分同学序号、学号、姓名和课程分数
        public static Students getMaxMath(List<Students> list){
            Students  maxMath = new Students();
            maxMath.setMathScores(0.0);
            for (Students st : list) {
                if (st.getMathScores()>maxMath.getMathScores()) {
                    maxMath = st;
                }
            }
            return maxMath;
        }
    }
      

  2.   

    package com.itheima.StudentsDame;import java.util.ArrayList;
    import java.util.Scanner;// 编写一个主类StudentsDemo.java,利用Students类输入5名同学的三门课成绩,按以下要求输出相关信息:
    //        说明:每创建一个Students对象,则序号值增1;第一个学生对象的序号值为1。
    public class StudentsDemo {
        public static void main(String[] args) {
    //        利用Students类输入5名同学的三门课成绩,按以下要求输出相关信息
    //        学号,姓名,性别,专业,三门课程成绩(数学,计算机,英语)
            Students student1 = new Students(1, "1", "张一", "男", "计算机", 80, 90, 98);
            Students student2 = new Students(2, "2", "张二", "女", "计算机", 57, 80, 79);
            Students student3 = new Students(3, "3", "张四", "女", "计算机", 70, 50, 98);
            Students student4 = new Students(4, "4", "张三", "男", "计算机", 30, 90, 98);
            Students student5 = new Students(5, "5", "张五", "男", "计算机", 90, 90, 38);
            ArrayList<Students> list = new ArrayList<>();
            list.add(student1);
            list.add(student2);
            list.add(student3);
            list.add(student4);
            list.add(student5);
    //        (2)数学课程最高分同学序号、学号、姓名和课程分数
            //用来存数学成绩最好的值的
    //        students1(list);
            //用来比较数学最大值
            int max = student1.getMath();
    //        students2(list, max);
    //        (3)总分最高/最低同学序号、学号、姓名和课程分数
            int max1 = students3(student1, list);
    //     (4)有没有这样的学生存在:总分大于所有学生的平均成绩,但是至少有一门课不及格(低于60分)。若有,按行输出这些学生的全部信息;若没有,不输出任何信息。
            for (Students st : list) {
                if (max1 == st.sum(st.getMath(), st.getYingYu(), st.getJiSuanJi())) {
                    if (st.getMath() < 60 || st.getYingYu() < 60 || st.getJiSuanJi() < 60) {
                        System.out.println(st.xuHao + "   " + st.getXueHao() + "  " + st.getXingMing() + " " + st.getXingBie() + "  " + st.getZhuanYe() + " " + st.getMath() + "    " + st.getYingYu() + "   " + st.getJiSuanJi());
                    }
                }
            }    }    //        (3)总分最高/最低同学序号、学号、姓名和课程分数    然后返回总分最高
        private static int students3(Students student1, ArrayList<Students> list) {
            int pmax = student1.sum(student1.getMath(), student1.getYingYu(), student1.getJiSuanJi());
            int pmin = student1.sum(student1.getMath(), student1.getYingYu(), student1.getJiSuanJi());
            //总分最高
            for (Students st : list) {
                if (st.sum(st.getMath(), st.getYingYu(), st.getJiSuanJi()) > pmax) {
                    pmax = st.sum(st.getMath(), st.getYingYu(), st.getJiSuanJi());
                }
                if (st.sum(st.getMath(), st.getYingYu(), st.getJiSuanJi()) < pmin) {
                    pmin = st.sum(st.getMath(), st.getYingYu(), st.getJiSuanJi());
                }
            }
            System.out.println("总分最高同学序号、学号、姓名和课程分数为:");
            for (Students st : list) {
                if (st.sum(st.getMath(), st.getYingYu(), st.getJiSuanJi()) == pmax) {
                    System.out.println(st.xuHao + "   " + st.getXueHao() + "   " + st.getXingMing() + "   " + st.getMath() + "   " + st.getJiSuanJi() + "   " + st.getYingYu());
                }
            }
            System.out.println("总分最低同学序号、学号、姓名和课程分数为:");
            for (Students st : list) {
                if (st.sum(st.getMath(), st.getYingYu(), st.getJiSuanJi()) == pmin) {
                    System.out.println(st.xuHao + "   " + st.getXueHao() + "   " + st.getXingMing() + "   " + st.getMath() + "   " + st.getJiSuanJi() + "   " + st.getYingYu());
                }
            }
            return pmax;
        }    //(3)总分最高/最低同学序号、学号、姓名和课程分数
    //    (2)数学课程最高分同学序号、学号、姓名和课程分数
        private static void students2(ArrayList<Students> list, int max) {
            for (Students st : list) {
                if (st.getMath() > max) {
                    max = st.getMath();
                }
            }        System.out.print("数学课程最高分同学序号、学号、姓名和课程分数是:");
            for (Students st : list) {
                if (st.getMath() == max) {
                    System.out.println(st.xuHao + "   " + st.getXueHao() + "   " + st.getXingMing() + "   " + st.getMath() + "   " + st.getJiSuanJi() + "   " + st.getYingYu());
                }
            }
        }    //(1)输入一个学生的学号或者姓名,输出该学生的所有信息。
        private static void students1(ArrayList<Students> list) {
            Scanner sc = new Scanner(System.in);
    //        输入一个学生的学号或姓名
            System.out.println("输入一个学生的学号或姓名");
            String xue = sc.next();
            for (Students o : list) {
                if (xue.equals(o.getXingMing()) || (xue.equals(o.getXueHao()))) {
                    //        学号,姓名,性别,专业,三门课程成绩(数学,计算机,英语)
                    System.out.println(o.xuHao + "   " + o.getXueHao() + "  " + o.getXingMing() + " " + o.getXingBie() + "  " + o.getZhuanYe() + " " + o.getMath() + "    " + o.getYingYu() + "   " + o.getJiSuanJi());
                }
            }
        }
    }package com.itheima.StudentsDame;
    //编写一个Java应用程序。设计一个学生类Students,包括属性有:序号,学号,姓名,性别,专业,三门课程成绩(数学,计算机,英语);
    //        包括方法有:求成绩总分,成绩平均分,除序号外各个属性的赋值方法,各个属性值的获取方法等等。public class Students {
      int xuHao;
        private String xueHao;
        private String xingMing;
        private String xingBie;
        private String zhuanYe;
        private int math;
        private int jiSuanJi;
        private int yingYu;    public Students() {
        }    public Students(int xuHao,String xueHao, String xingMing, String xingBie, String zhuanYe, int math, int jiSuanJi, int yingYu) {
            this.xueHao=xueHao;
            this.xuHao=xuHao;
            this.xingMing = xingMing;
            this.xingBie = xingBie;
            this.zhuanYe = zhuanYe;
            this.math = math;
            this.jiSuanJi = jiSuanJi;
            this.yingYu = yingYu;
        }    public String getXueHao() {
            return xueHao;
        }    public void setXueHao(String xueHao) {
            this.xueHao = xueHao;
        }    public String getXingMing() {
            return xingMing;
        }    public void setXingMing(String xingMing) {
            this.xingMing = xingMing;
        }    public String getXingBie() {
            return xingBie;
        }    public void setXingBie(String xingBie) {
            this.xingBie = xingBie;
        }    public String getZhuanYe() {
            return zhuanYe;
        }    public void setZhuanYe(String zhuanYe) {
            this.zhuanYe = zhuanYe;
        }    public int getMath() {
            return math;
        }    public void setMath(int math) {
            this.math = math;
        }    public int getJiSuanJi() {
            return jiSuanJi;
        }    public void setJiSuanJi(int jiSuanJi) {
            this.jiSuanJi = jiSuanJi;
        }    public int getYingYu() {
            return yingYu;
        }    public void setYingYu(int yingYu) {
            this.yingYu = yingYu;
        }
        //求总成绩;
        public int sum(int math, int jiSuanJi, int yingYu) {
            return math+jiSuanJi+yingYu;
        }
        //求平均分
        public int ping(int math , int jiSuanJi,int yingYu)
        {
            return sum(math,jiSuanJi,yingYu)/3;
        }
    }
      

  3.   

    作业。新建类,属性私有化。然后空参有参构造方法。set.get方法,然后成员方法,然后就完了。都可以用快捷键生成的啊
      

  4.   

    怎么说呢,楼上写代码的老哥真强,这是刚接触数据库的作业吧。思路呢,有两点:第一:考察你的spring注入学习的怎么样
    第二:数据库新建,主键递增,数据库函数查询你随便搜下,ssh demo,ssm demo之类的,修改下数据库信息,
    在搜下数据库分组查询,平均数查询,之类的,立马就出来了,给你代码什么的,没有必要。
    这种问题都要问的话,估计环境变量,开发环境,代码导入之类的的问题你解决起来更难