JAVA学习接口案例实例

要求:

结果:

测试类: 

package Z;
public class Test {public static void main(String[] args) {ClassMnger p = new ClassMnger();p.Students();p.Studentall();p.studentavg();}
}

实体数据类

public class ClassAll {//存入班级全部学生类private String className;private char sex;private double score;public ClassAll() {}public ClassAll(String className, char sex, double score) {this.className = className;this.sex = sex;this.score = score;}public String getClassName() {return className;}public void setClassName(String className) {this.className = className;}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;}
}

操作类

import java.util.ArrayList;public class ClassMnger {//班级操作类private ArrayList<ClassAll>  student = new ArrayList<ClassAll>();//创建ClassAll学生信息类的集合对象//创建学生信息public void Students (){//给集合对象添加进去信息,利用有参构造函数加入student.add(new ClassAll("迪丽热巴",'女',85));student.add(new ClassAll("古力娜扎",'女',95));student.add(new ClassAll(" 单依纯",'女',100));student.add(new ClassAll("付  航",'男',99));}//以接口名命名,方便调用实现方法private operatr1 op = new f1();//创建实现接口类的对象(f1改为f2的话就执行方案2,便利程序员的切换)//打印全班全部学生的信息public void Studentall(){System.out.println("================================");//调用实现接口方法的方法op.printStudentall(student);//传入学生类对象集合}//打印全班全部学生的平均分public void studentavg (){System.out.println("==========================");//调用实现接口方法的方法op.printAverageScore(student);//传入学生类对象集合}
}

接口

import java.util.ArrayList;public interface operatr1 {//方案一的接口void printAverageScore(ArrayList<ClassAll> studentscore);//设置平均值方法,类型是ClassAll集合对象类void printStudentall(ArrayList<ClassAll> studentall);//设置学生全部信息方法,类型是ClassAll集合对象类
}

接口实现类方案1 

import java.util.ArrayList;//方案1 ,实现接口类
public class f1  implements operatr1 {@Overridepublic void printAverageScore(ArrayList<ClassAll> studentscore) {double score = 0.0;//给分数赋初值for(int i=0; i<studentscore.size(); i++) {double Studentscore = studentscore.get(i).getScore();//找集合对象中的第几个值score += Studentscore;}//求平均值System.out.println("本班学生成绩的平均值是"+score/studentscore.size());}@Overridepublic void printStudentall(ArrayList<ClassAll> studentall) {for(int i=0; i<studentall.size(); i++) {System.out.println("姓名:"+studentall.get(i).getClassName()+" 性别:"+studentall.get(i).getSex()+"\t分数"+studentall.get(i).getScore());}}
}

接口实现类方案2

import java.util.ArrayList;public class f2 implements operatr1 {@Overridepublic void printAverageScore(ArrayList<ClassAll> studentscore) {double score = 0.0;//给分数赋初值double min =studentscore.get(1).getScore() ;//初始最小值double max =studentscore.get(1).getScore() ;//初始最大值for(int i=0; i<studentscore.size(); i++) {double Studentscore = studentscore.get(i).getScore();//找集合对象中的第几个值if(Studentscore<min) {min = Studentscore;};if(Studentscore>max) {max = Studentscore;};score += Studentscore;}//求去掉最大值去掉最小值的平均值System.out.println("本班学生成绩的平均值是"+(score-max-min)/studentscore.size());}@Overridepublic void printStudentall(ArrayList<ClassAll> studentall) {int count1 = 0;//初始化女生人数int  count2 = 0;//初始化男生人数for(int i=0; i<studentall.size(); i++) {System.out.println("姓名:"+studentall.get(i).getClassName()+" 性别:"+studentall.get(i).getSex()+"\t分数"+studentall.get(i).getScore());if(studentall.get(i).getSex()=='男') {count2++;}else {count1++;}}System.out.println("男生人数有:"+count2+"女生人数有:"+count1);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/9109.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

远程连接服务器

1、远程连接服务器 1.1 远程连接服务器------通过文字或图形接口方式来远程登录系统&#xff0c;让你在远程终端前登录linux主机以取得可操 作主机接口&#xff08;shell&#xff09;&#xff0c;而登录后的操作感觉就像是坐在系统前面一样。 1.2 功能------分享主机的运算能…

1分钟教你利用ai工具免费制作10W+情感视频,自动化批量操作,效率提升10倍!

觉得风之馨的文章对你有用的话&#xff0c;记得点赞、关注加星标哦&#xff01; 今天刷到这种人生感悟号,很容易唤起大家的共鸣。转眼间一年即将过去,摸摸口袋没剩下几个钱。内心突然间就伤感起来了&#xff0c;生活不易&#xff0c;且行且珍惜。 评论出大神,有出来拉仇恨的&a…

CISCO产品介绍

思科防火墙是由全球领先的网络解决方案提供商思科&#xff08;Cisco&#xff09;公司研发和生产的一系列网络安全设备。 思科的产品和服务涵盖了多个领域&#xff0c;包括但不限于&#xff1a; 网络硬件&#xff1a;思科的路由器和交换机是其核心产品&#xff0c;广泛应用于企…

Python | Leetcode Python题解之第547题省份数量

题目&#xff1a; 题解&#xff1a; class Solution:def findCircleNum(self, isConnected: List[List[int]]) -> int:def find(index: int) -> int:if parent[index] ! index:parent[index] find(parent[index])return parent[index]def union(index1: int, index2: i…

如何优化Elasticsearch查询以提高性能?

为了优化Elasticsearch查询以提高性能&#xff0c;以下是一些实用的策略和技巧&#xff1a; 节点负载均衡&#xff1a; 通过调整副本数来实现负载均衡。确保分片和副本的总数与节点数量相匹配&#xff0c;以均匀分配查询请求。 慢查询处理&#xff1a; 开启慢查询日志&#xf…

使用SigXplorer进行串扰的仿真

串扰&#xff08;Crosstalk&#xff09;是信号完整性&#xff08;Signal Integrity&#xff09;中的核心问题之一&#xff0c;尤其在当今的高密度电路板设计中&#xff0c;其影响愈发显著。当电路板上的走线密度增大时&#xff0c;各线路间的电磁耦合增强&#xff0c;串扰问题愈…

【报错记录】Steam迁移(移动)游戏报:移动以下应用的内容失败:XXX: 磁盘写入错误

前言 由于黑神话悟空&#xff0c;导致我的2TB的SSD系统盘快满了&#xff0c;我又买了一块4TB的SSD用来存放游戏&#xff0c;我就打算把之前C盘里的游戏移动到D盘&#xff0c;结果Steam移动游戏居然报错了&#xff0c;报的还是“磁盘写入错误”&#xff0c;如下图所示&#xff…

迁移学习相关基础

迁移学习 目标 将某个领域或任务上学习到的知识或模式应用到不同但相关的领域或问题中。 主要思想 从相关领域中迁移标注数据或者知识结构、完成或改进目标领域或任务的学习效果。 概述 Target data&#xff1a;和你的任务有直接关系的数据&#xff0c;但数据量少&#xff…

基于单片机的客车载客状况自动检测系统(论文+源码)

1系统整体设计 本课题为客车载客状况自动检测系统&#xff0c;在此以STM32单片机为核心控制器&#xff0c;结合压力传感器、红外传感器、蜂鸣器、语音提示模块、继电器、液晶等构成整个客车载客状况自动检测系统&#xff0c;整个系统架构如图2.1所示&#xff0c;在此通过两个红…

AscendC从入门到精通系列(一)初步感知AscendC

1 什么是AscendC Ascend C是CANN针对算子开发场景推出的编程语言&#xff0c;原生支持C和C标准规范&#xff0c;兼具开发效率和运行性能。基于Ascend C编写的算子程序&#xff0c;通过编译器编译和运行时调度&#xff0c;运行在昇腾AI处理器上。使用Ascend C&#xff0c;开发者…

生物标记:BCN-PEG-FITC,环丙烷环辛炔聚乙二醇荧光素

在生物标记的舞台上&#xff0c;BCN-PEG-FITC凭借BCN基团的点击化学反应特性&#xff0c;犹如一位技艺高超的舞者&#xff0c;轻盈地在生物分子间穿梭&#xff0c;精准地与其他分子进行标记或探测。这种高特异性的反应&#xff0c;让我们能够更清晰地洞察生命的微观世界。而在分…

C++ 优先算法 —— 三数之和(双指针)

目录 题目&#xff1a;三数之和 1. 题目解析 2. 算法原理 ①. 暴力枚举 ②. 双指针算法 不漏的处理&#xff1a; 去重处理&#xff1a; 固定一个数 a 的优化&#xff1a; 3. 代码实现 Ⅰ. 暴力枚举&#xff08;会超时 O&#xff08;N&#xff09;&#xff09; Ⅱ.…

98_api_intro_websitetools_sslcertinfo

域名 SSL 证书信息解析 API 数据接口 网络工具&#xff0c;提供域名 SSL 证书信息解析&#xff0c;多信息查询&#xff0c;毫秒级响应。 1. 产品功能 提供域名 SSL 证书信息解析&#xff1b;最完整 SSL 属性信息解析&#xff1b;支持多种元素信息抽取&#xff0c;包括主题的可辨…

抓包工具WireShark使用记录

目录 网卡选择&#xff1a; 抓包流程&#xff1a; 捕获过滤器 常用捕获过滤器&#xff1a; 抓包数据的显示 显示过滤器&#xff1a; 常用的显示过滤器&#xff1a; 实际工作中&#xff0c;在平台对接&#xff0c;设备对接等常常需要调试接口&#xff0c;PostMan虽然可以进…

基于单片机的自动充电蓝牙智能台灯的设计

本设计以单片机为主要控制芯片&#xff0c;主要包括主控模块&#xff0c;显示模块&#xff0c;蓝牙模块&#xff0c;ADC转换信号模块&#xff0c;红外感应模块&#xff0c;光敏模块&#xff0c;充电模块等多功能设计。台灯分为自动模式与手动模式&#xff0c;自动模式开启时&am…

猎板 PCB 专业解读:HDI 技术叠构全解

在现代电子制造领域&#xff0c;HDI&#xff08;高密度互连&#xff09;技术占据着举足轻重的地位。其核心亮点在于极具创新性的叠构设计&#xff0c;这一设计使得电子产品在体积上得以大幅缩减&#xff0c;同时性能也获得显著提升。借助精密的盲埋孔连接工艺&#xff0c;HDI 显…

【卷积基础】CNN中一些常见卷积(1*1卷积、膨胀卷积、组卷积、深度可分离卷积)

文章目录 逐通道卷积&#xff08;Pointwise Convolution&#xff0c;1x1 卷积&#xff09;主要作用逐通道卷积的操作过程优势代码示例典型应用 膨胀卷积&#xff08;Dilated Convolution&#xff09;主要作用工作原理膨胀率 (dilation rate) 的定义代码实例膨胀卷积的优点 组卷…

王道考研之数据结构

数据结构系列 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 数据结构 数据结构系列1.线性表1.1 线性表的定义和相关概念1.2 线性表的创销 增删查改 判空表长打印 2.顺序表2.1 顺序表定义和相关概念2.2 顺序表的静态实现2.3 顺序表的…

Scala 中 set 的实战应用 :图书管理系统

1. 创建书籍集合 首先&#xff0c;我们创建一个可变的书籍集合&#xff0c;用于存储图书馆中的书籍信息。在Scala中&#xff0c;mutable.Set可以用来创建一个可变的集合。 val books mutable.Set("朝花惜拾", "活着") 2. 添加书籍 我们可以使用操作符…

Python venv 虚拟环境 相关 Windows环境 2024 /11/9

Python venv 虚拟环境 相关 年纪大了,好些时候力不从心,这里记录一下,以防忘记! Windows环境 第一次使用 创建 venv myvenv是自定义名字 python -m venv myvenv 激活和启动 前面是路径这里关键词为 activate (激活) myvenv\Scripts\activate 验证是否创建成功 where pytho…