Day_11【集合】扩展案例3_打印最高分的学员姓名、年龄、成绩,打印10个学生的总成绩和平均分,打印不及格的学员信息及数量
分析以下需求,并用代码实现
1.定义Student类
属性:
姓名:String name
年龄:int age
成绩:int score
行为:
空参构造方法
有参构造方法
set和get方法
toString方法
2.定义测试类,进行测试
(1)创建10个学生对象存入ArrayList集合中
(2)打印最高分的学员姓名、年龄、成绩 [要求封装1个方法 参数是集合对象 返回值类型为Student]
(3)打印10个学生的总成绩和平均分 [要求封装两个方法完成]
(4)打印不及格的学员信息及数量 [要求封装一个方法完成]
代码
package com.itheima3;
public class Student {
private String name;
private int age;
private int score;
public Student() {
super();
// TODO Auto-generated constructor stub
}
public Student(String name, int age, int score) {
super();
this.name = name;
this.age = age;
this.score = score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
/*
* toString方法:public String toString()
* 作用:返回此对象本身(它已经是一个字符串!)
*/
@Override
public String toString() {
return "Student [name:"+name+" age:"+age+" score:"+score+"]";
}
}
package com.itheima3;
import java.util.ArrayList;
import java.util.Random;
public class Test3 {
public static void main(String[] args) {
//创建集合对象
ArrayList<Student> list = new ArrayList<Student>();
//创建元素对象
Student s1 = new Student("张三",18,30);
Student s2 = new Student("李四",19,50);
Student s3 = new Student("王五",20,30);
Student s4 = new Student("赵六",18,86);
Student s5 = new Student("周吴",18,75);
Student s6 = new Student("郑王",19,60);
Student s7 = new Student("大大",21,70);
Student s8 = new Student("老八",19,90);
Student s9 = new Student("哈哈",20,99);
Student s10 = new Student("钱九",18,80);
//将元素添加到集合中去
list.add(s1);
list.add(s2);
list.add(s3);
list.add(s4);
list.add(s5);
list.add(s6);
list.add(s7);
list.add(s8);
list.add(s9);
list.add(s10);
//调用方法
Student maxStu = getMaxStudent(list);
System.out.println("最高分的学员信息为:"+maxStu);
int sum = getSumScore(list);
System.out.println(list.size()+"名学员的总成绩为:"+sum);
int avg = getAvgScore(list);
System.out.println(list.size()+"名学员的平均成绩为:"+avg);
printFailStuInfo(list);
}
//打印最高分的学员姓名、年龄、成绩 [要求封装1个方法 参数是集合对象 返回值类型为Student]
public static Student getMaxStudent(ArrayList<Student> list) {
Student s = list.get(0);
for(int i = 0;i < list.size();i++) {
if(list.get(i).getScore() > s.getScore()) {
s = list.get(i);
}
}
return s;
}
//打印10个学生的总成绩
public static int getSumScore(ArrayList<Student> list) {
int sum = 0;
for(int i = 0;i < list.size();i++) {
Student s = list.get(i);
sum += s.getScore();
}
return sum;
}
//打印10个学生的平均分
public static int getAvgScore(ArrayList<Student> list) {
int sum = getSumScore(list);
return sum / list.size();
}
//打印不及格的学员信息及数量 [要求封装一个方法完成]
public static void printFailStuInfo(ArrayList<Student> list) {
int count = 0;
System.out.println("不及格的学生为:");
for(int i = 0;i < list.size();i++) {
Student s = list.get(i);
if(list.get(i).getScore() < 60) {
System.out.println(list.get(i));
count++;
}
}
System.out.println("不及格的学生数量为:"+count);
}
}
控制台输出内容

Day_11【集合】扩展案例3_打印最高分的学员姓名、年龄、成绩,打印10个学生的总成绩和平均分,打印不及格的学员信息及数量的更多相关文章
- Day_09【常用API】扩展案例3_删除源字符串中的指定字符,并计算指定字符出现的次数
分析以下需求,并用代码实现 1.键盘录入一个源字符串由字符串变量scrStr接收 2.键盘录入一个要删除的字符串由字符串变量delStr接收 3.要求 删除该字scrStr符串中的所有delStr字符 ...
- Day_12【集合】扩展案例3_产生10个长度为10,不能重复,由数字0-9,小写字母和大写字母组成的字符串
分析以下需求,并用代码实现 1.产生10个1-20之间的随机数要求随机数不能重复 2.产生10个长度为10的不能重复的字符串(里面只能出现大写字母.小写字母.0-9的数字),并遍历打印输出 代码 pa ...
- Day_14【IO流】扩展案例3_对文本文件中的字符串内容进行反转
分析以下需求,并用代码实现 项目根路径下有text.txt文件,内容如下 我爱黑马 123456 利用IO流的知识读取text.txt文件的内容反转后写入text.txt文件中 654321 马黑爱我 ...
- Day_08【面向对象】扩展案例3_使用多态的形式创建缉毒狗对象,调用缉毒方法和吼叫方法
分析以下需求,并用代码实现: 1.定义动物类: 行为: 吼叫:没有具体的吼叫行为 吃饭:没有具体的吃饭行为 2.定义缉毒接口 行为: 缉毒 3.定义缉毒狗:犬的一种 行为: 吼叫:汪汪叫 吃饭:狗啃骨 ...
- Day_11【集合】扩展案例1_遍历打印学生信息,获取学生成绩的最高分,获取成绩最高的学员,获取学生成绩的平均值,获取不及格的学员数量
分析以下需求,并用代码实现: 1.按照以下描述完成类的定义 学生类 属性: 姓名name 年龄age 成绩score 行为: 吃饭eat() study(String content)(content ...
- set集合综合案例
案例01:生成0-10之间5个不相等的数 方法1:使用list集合实现 import random list01 = [] for i in range(100): num01 = random.ra ...
- 浅谈集合框架六——集合扩展:Arrays工具类、集合与数组相互转换方式;
最近刚学完集合框架,想把自己的一些学习笔记与想法整理一下,所以本篇博客或许会有一些内容写的不严谨或者不正确,还请大神指出.初学者对于本篇博客只建议作为参考,欢迎留言共同学习. 之前有介绍集合框架的体系 ...
- 【Java】集合综合案例 - 播放器管理
集合综合案例 文章目录 集合综合案例 需求分析 项目演示 详细设计 代码实现 歌曲类 播放器类 播放列表类 测试 参考资料 播放器管理 需求分析 项目演示 详细设计 代码实现 重新搞一波 复习巩固 简 ...
- 006-guava 集合-集合工具类-集合扩展工具类
一.概述 需要实现自己的集合扩展.也许你想要在元素被添加到列表时增加特定的行为,或者你想实现一个Iterable,其底层实际上是遍历数据库查询的结果集 二.使用 2.1.ForwardingList装 ...
随机推荐
- HttpWebRequest在Post的时候,遇到特殊符号+号(加号)变成空格了
今天在调用一个外部接口的时候遇到一个问题,外部接口说要用FOMR的POST方法提交. OK,没问题,我加了个ASPX页面,里面加了个FORM表单和一些元素,提交,返回值成功.注意看下面这一句:但返回值 ...
- 如何用python爬虫从爬取一章小说到爬取全站小说
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http ...
- Project configuration is not up-to-date with pom.xml.错误
完整错误信息:Description Resource Path Location TypeProject configuration is not up-to-date with pom.xml. ...
- python里的内置函数你知道有多少个吗?
Python 内置函数最全汇总: 1 abs() 绝对值或复数的模 2 all() 接受一个迭代器,如果迭代器的所有元素都为真,那么返回True,否则返回False 3 any() 接受一个迭代器,如 ...
- 移植madplay到ARM板
一.环境和软件介绍 1.主机环境:Ubuntu16.04 2.交叉编译器: gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67) 3.ARM板:kernel: ...
- Websec level 30
前言 昨天在易霖博搞的网络安全与执法竞赛看到的一道web题,实际上就是用两个原题凑起来的.. 不过后面的一关没见过这里简单记录一下 第一关 打开是个登录界面,和BJDCTF的简单注入一模一样,连密码都 ...
- java list随机截取(洗牌)
public void solution(){ List<Integer> givenList = Arrays.asList(1, 2, 3,4,5,6); Collections.sh ...
- XSS Challenge(2)
XSS Challenges http://xss-quiz.int21h.jp/ Stage #13 Hint:style attribute:要用到style属性,在style属性中有个expre ...
- 为什么要你们现在要学习python
说学习python之前,我们先来聊聊其他的.我们都认为成功靠的是勤奋和努力,但是事实是只靠勤奋和努力是不一定会成功的,而且很大一部分都不会成功. 你有没有想过,同样是做企业,有些公司年收入百万,而腾讯 ...
- 备忘录模式 (c++实现)
模式定义 备忘录(Memento): 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可以将该对象恢复到原先保存的状态. 模式动机 备忘录模式比较适用于功能比较复 ...