首页 > 其他分享 >接口:综合案例

接口:综合案例

时间:2023-05-29 16:15:21浏览次数:38  
标签:getScore students void 接口 案例 ArrayList Student public 综合


package com.Demo4; public class Test { public static void main(String[] args) { //目标:完成学生信息管理的实例 ClassManage classManage=new ClassManage(); classManage.printInfo(); classManage.printScore(); } }
package com.Demo4;

public class Student {
    private String name;
    private char sex;
    private double score;

    public Student() {
    }

    public Student(String name, char sex, double score) {
        this.name = name;
        this.sex = sex;
        this.score = score;
    }

    public String getName() {
        return name;
    }

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

    public char getSex() {
        return sex;
    }

    public void setSex(char sex) {
        this.sex = sex;
    }

    public double getScore() {
        return score;
    }

    public void setScore(double score) {
        this.score = score;
    }
}
package com.Demo4;

import java.util.ArrayList;

public interface StuentOperator {
    void printAllInfo(ArrayList<Student> students);
    void printAverageScore(ArrayList<Student> students);
}
package com.Demo4;

import java.util.ArrayList;

public class ClassManage {
    private ArrayList<Student> students=new ArrayList<>();
    private StuentOperator stuentOperator=new StuentOperatorlmp1();
    //切换第二套方案                        改成 StydentOperatorImpl2
    public ClassManage(){
        students.add(new Student("迪丽热巴",'女',99));
        students.add(new Student("古力娜扎",'女',100));
        students.add(new Student("马儿扎哈",'男',89));
        students.add(new Student("卡尔扎巴",'男',80));
        students.add(new Student("德莱文",'男',60));
    }

    //打印全部学生信息
    public void printInfo(){
        stuentOperator.printAllInfo(students);
    }
    //打印全班全部学生的平均分
    public void printScore(){
        stuentOperator.printAverageScore(students);
    }
}
package com.Demo4;

import java.util.ArrayList;

public class StuentOperatorlmp1 implements StuentOperator {

    @Override
    public void printAllInfo(ArrayList<Student> students) {
        System.out.println("-----------------全班全部学生信息如下--------------");
        for (int i = 0; i < students.size(); i++) {
            Student s=students.get(i);
            System.out.println("姓名:"+ s.getName()+",性别:"+s.getSex()+",成绩:"+s.getScore());
        }
        System.out.println("------------------------------------------------");
    }

    @Override
    public void printAverageScore(ArrayList<Student> students) {
        double allScore=0.0;
        for (int i = 0; i < students.size(); i++) {
            Student s=students.get(i);
            allScore+=s.getScore();
        }
        System.out.println("平均分:"+(allScore)/students.size());

    }
}
package com.Demo4;

import java.util.ArrayList;

public class StydentOperatorImpl2 implements StuentOperator{
    @Override
    public void printAllInfo(ArrayList<Student> students) {
        System.out.println("-----------------全班全部学生信息如下--------------");
        int count1=0;
        int count2=0;
        for (int i = 0; i < students.size(); i++) {
            Student s=students.get(i);
            System.out.println("姓名:"+ s.getName()+",性别:"+s.getSex()+",成绩:"+s.getScore());
            if (s.getSex()=='男'){
                count1++;
            }else {
                count2++;
            }
        }
        System.out.println("男生人数为:"+count1+",女生人数为:"+count2);
        System.out.println("全班人数为:"+students.size());
        System.out.println("------------------------------------------------");
    }

    @Override
    public void printAverageScore(ArrayList<Student> students) {
        double allScore=0.0;
        double max=students.get(0).getScore();
        double min=students.get(0).getScore();
        for (int i = 0; i < students.size(); i++) {
            Student s=students.get(i);
            if (s.getScore()>max )  max=s.getScore();
            if (s.getScore()<min )  min=s.getScore();
            allScore+=s.getScore();
        }
        System.out.println("学生的最高分是:"+max);
        System.out.println("学生的最低分是:"+min);
        System.out.println("平均分:"+(allScore-max-min) / (students.size()-2));

    }
}

 

 

标签:getScore,students,void,接口,案例,ArrayList,Student,public,综合
From: https://www.cnblogs.com/Karl-hut/p/17440700.html

相关文章

  • Unity的AssetPostprocessor之Model:深入解析与实用案例 1
    UnityAssetPostprocessor模型相关函数详解在Unity中,AssetPostprocessor是一个非常有用的工具,它可以在导入资源时自动执行一些操作。在本文中,我们将重点介绍AssetPostprocessor中与模型相关的函数,并提供多个使用例子。OnPostprocessModelOnPostprocessModel是AssetPostprocessor......
  • Qt键盘事件和鼠标事件的简单案例实现
    事件:事件是对各种应用程序需要知道的由应用程序内部或者外部产生的事情或者动作的统称。Qt中使用一个对象来表示一个事件,继承自QEvent类。注意:事件与信号并不相同,事件与信号是两个不同层面的东西,发出者不同,作用也不同。案例要实现的功能:通过设置键盘的快捷键来切换另一个窗口通过......
  • 接口
        ......
  • CSS-Select 开发包和使用案例分享
    CSS-Select是一个用于解析CSS选择器的工具包,它提供了一套完整的API,可以方便地进行CSS选择器的解析和匹配。该工具包是基于解析器生成器jison开发的,可以在Node.js环境下使用。下面,我们来详细介绍一下CSS-Select工具包的作用和使用方法。作用CSS-Select工具包的主要......
  • mysql、sqlserver、oracle分页,java分页统一接口实现
    定义:pageStart起始页,pageEnd终止页,pageSize页面容量oracle分页:rownum numfrom(实际传的SQL)where rownum<=pageEnd)wherenum>=pageStartsqlServer分页:           select*from(select top 页面容量from(select top字段Adesc)astemptable2orderb......
  • 中文环境下使用 huggingface 模型替换 OpenAI的Embedding 接口
    OpenAI的文本嵌入衡量文本字符串的相关性。嵌入通常用于:搜索(其中结果按与查询字符串的相关性排名)聚类(其中文本字符串按相似性分组)推荐(推荐具有相关文本字符串的项目)异常检测(识别出相关性不大的异常值)多样性测量(分析相似性分布)分类(其中文本字符串按其最相似的标签分类)嵌入是浮......
  • Apifox 网页端调试本地接口
    1.下载浏览器插件https://cdn.apifox.cn/download/apifox-browser-extension/Apifox-browser-extension.zip下载后解压2.安装浏览器插件1)谷歌浏览器访问chrome://extensions/2)开启开发者模式3)点击加载已解压的扩展程序按钮,选择第1步中下载的浏览器插件Apifox-Agent-Chrome安......
  • 工作日常:一步一步做LIS接口
    既然是LIS接口,那么还有一部分就是LIS接口与LIS系统交互了。之所以没有讲这个,一来是不同的LIS系统,数据结构不同,而且不同系统可能都差别比较大;二来是与LIS的交互,多数就是与数据库的交互,C/S的数据库程序是XX管理程序做烂的东西,别告诉我你不会SQL,那只有好好学习,天天向上了。但是为了......
  • DRF之通过GenericAPIView的视图子类实现数据的增删改查接口
    1、安装DRFpipinstalldjangorestframework2、将DRF注册到APP中INSTALLED_APPS=['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','djan......
  • 仅仅是调用第三方接口那么简单吗?
    最近有个项目需要本地处理之后,然后调用第三方接口,本来开始觉得很简单得事情,不就是调用第三方接口吗?但是却一波三折。初版首先有了下面的第一版的设计。这个设计很简单,也是最容易想到的。主要有下面几步1、本地处理;2、调用第三方接口;3、本地日志打印,包括是否调用成功及失败......