• 输入n个学生,并且输入成绩,判断是否偏科


           H学校的领导主任决定分析一下今年所有N名学生的考试成绩,从中找出偏科的学生,考试成绩包含语文,数学,英语三门课程的分数,已知偏科的定义是:某一门课程的分数大于等于90,并且另外两门的分数小于等于70。

    请你求出一共有多少名偏科的学生。

    输入第一行包含一个整数N。

    以下N行每行包含三个整数,Ai,Bi,Ci,依次是语文,数学,英语的分数。

    1<=N<=10000

    0<=Ai,Bi,Ci<=100

    输出

    一个整数代表答案

    首先应该先写出学生类:

    public class StudentDemo {
        private int lanGrade;//语文成绩
        private int mathGrade;//数学成绩
        private int engGrade;//英语成绩
        public StudentDemo(int lanGrade,int mathGrade,int engGrade){
            this.lanGrade = lanGrade;
            this.engGrade = engGrade;
            this.mathGrade = mathGrade;
        }
    
        public int getLanGrade() {
            return lanGrade;
        }
    
        public void setLanGrade(int lanGrade) {
            this.lanGrade = lanGrade;
        }
    
        public int getMathGrade() {
            return mathGrade;
        }
    
        public void setMathGrade(int mathGrade) {
            this.mathGrade = mathGrade;
        }
    
        public int getEngGrade() {
            return engGrade;
        }
    
        public void setEngGrade(int engGrade) {
            this.engGrade = engGrade;
        }
    
        @Override
        public String toString() {
            return "StudentDemo{" +
                    "lanGrade=" + lanGrade +
                    ", mathGrade=" + mathGrade +
                    ", engGrade=" + engGrade +
                    '}';
        }
    }

    创建成绩类:(判断)

    import java.util.Scanner;
    
    public class GradeTest {
        private StudentDemo[] studentDemos;
        private int studentNum;
        private Scanner sc;
        public GradeTest(){
            this.sc = new Scanner(System.in);
            this.studentNum = 0;
            this.studentDemos = new StudentDemo[1000];
            this.studentDemos[this.studentNum++] = new StudentDemo(0,0,0);
        }
    
    
        public static void main(String[] args) {
            GradeTest gd = new GradeTest();
            gd.setGrade();
            int num = gd.search();
            System.out.println("偏科人数:"+num);
    
        }
    
        private void setGrade() {
                System.out.println("请输入学生个数:");
                int num = sc.nextInt();
                System.out.println("请输入学生成绩(成绩大于等于0小于等于100):");
                   int i = 1;
                   while (i <= num) {
                       int lanGrade = sc.nextInt();
                       int mathGrade = sc.nextInt();
                       int engGrade = sc.nextInt();
                       if (i == studentNum) {
                           studentDemos[this.studentNum++] = new StudentDemo(lanGrade, mathGrade, engGrade);
                       }
                       i++;
                   }
    
        }
    
        public int search() {
            int count = 0;
                for (int i = 0; i < this.studentNum; i++) {
                    if ((studentDemos[i].getEngGrade() >= 90 && studentDemos[i].getLanGrade() <= 70 && studentDemos[i].getMathGrade() <= 70) ||
                            (studentDemos[i].getLanGrade() >= 90 && studentDemos[i].getEngGrade() <= 70 && studentDemos[i].getMathGrade() <= 70) ||
                            (studentDemos[i].getMathGrade() >= 90 && studentDemos[i].getLanGrade() <= 70 && studentDemos[i].getEngGrade() <= 70)) {
                        count++;
                    }
                }
                return count;
            }
    }

    运行结果如图:

  • 相关阅读:
    托付和事件的使用
    在使用supervisord 管理tomcat时遇到的小问题
    无法安装vmware tools的解决方PLEASE WAIT! VMware Tools is currently being installed on your system. Dependin
    (转)Openlayers 2.X加载高德地图
    (转)openlayers实现在线编辑
    (转) Arcgis for js加载百度地图
    (转)Arcgis for js加载天地图
    (转) 基于Arcgis for Js的web GIS数据在线采集简介
    (转) Arcgis for js之WKT和GEOMETRY的相互转换
    (转)Arcgis for Js之Graphiclayer扩展详解
  • 原文地址:https://www.cnblogs.com/128-cdy/p/11921624.html
Copyright © 2020-2023  润新知