分析以下需求,并用代码实现

  •  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个学生的总成绩和平均分,打印不及格的学员信息及数量的更多相关文章

  1. Day_09【常用API】扩展案例3_删除源字符串中的指定字符,并计算指定字符出现的次数

    分析以下需求,并用代码实现 1.键盘录入一个源字符串由字符串变量scrStr接收 2.键盘录入一个要删除的字符串由字符串变量delStr接收 3.要求 删除该字scrStr符串中的所有delStr字符 ...

  2. Day_12【集合】扩展案例3_产生10个长度为10,不能重复,由数字0-9,小写字母和大写字母组成的字符串

    分析以下需求,并用代码实现 1.产生10个1-20之间的随机数要求随机数不能重复 2.产生10个长度为10的不能重复的字符串(里面只能出现大写字母.小写字母.0-9的数字),并遍历打印输出 代码 pa ...

  3. Day_14【IO流】扩展案例3_对文本文件中的字符串内容进行反转

    分析以下需求,并用代码实现 项目根路径下有text.txt文件,内容如下 我爱黑马 123456 利用IO流的知识读取text.txt文件的内容反转后写入text.txt文件中 654321 马黑爱我 ...

  4. Day_08【面向对象】扩展案例3_使用多态的形式创建缉毒狗对象,调用缉毒方法和吼叫方法

    分析以下需求,并用代码实现: 1.定义动物类: 行为: 吼叫:没有具体的吼叫行为 吃饭:没有具体的吃饭行为 2.定义缉毒接口 行为: 缉毒 3.定义缉毒狗:犬的一种 行为: 吼叫:汪汪叫 吃饭:狗啃骨 ...

  5. Day_11【集合】扩展案例1_遍历打印学生信息,获取学生成绩的最高分,获取成绩最高的学员,获取学生成绩的平均值,获取不及格的学员数量

    分析以下需求,并用代码实现: 1.按照以下描述完成类的定义 学生类 属性: 姓名name 年龄age 成绩score 行为: 吃饭eat() study(String content)(content ...

  6. set集合综合案例

    案例01:生成0-10之间5个不相等的数 方法1:使用list集合实现 import random list01 = [] for i in range(100): num01 = random.ra ...

  7. 浅谈集合框架六——集合扩展:Arrays工具类、集合与数组相互转换方式;

    最近刚学完集合框架,想把自己的一些学习笔记与想法整理一下,所以本篇博客或许会有一些内容写的不严谨或者不正确,还请大神指出.初学者对于本篇博客只建议作为参考,欢迎留言共同学习. 之前有介绍集合框架的体系 ...

  8. 【Java】集合综合案例 - 播放器管理

    集合综合案例 文章目录 集合综合案例 需求分析 项目演示 详细设计 代码实现 歌曲类 播放器类 播放列表类 测试 参考资料 播放器管理 需求分析 项目演示 详细设计 代码实现 重新搞一波 复习巩固 简 ...

  9. 006-guava 集合-集合工具类-集合扩展工具类

    一.概述 需要实现自己的集合扩展.也许你想要在元素被添加到列表时增加特定的行为,或者你想实现一个Iterable,其底层实际上是遍历数据库查询的结果集 二.使用 2.1.ForwardingList装 ...

随机推荐

  1. 记一次错误 POST http://127.0.0.1:8000/auth/signup/ 500 (Internal Server Error)

    错误环境: 1,ajax 发送 post 请求调用 views 的视图 xfzajax.post({ 'url': '/xfzauth/signup/', 'data': { 'telephone': ...

  2. F - Minimum Sum LCM

    LCM (Least Common Multiple) of a set of integers is defined as the minimum number, which is a multip ...

  3. search(6)- elastic4s-CRUD

    如果我们把ES作为某种数据库来使用的话,必须熟练掌握ES的CRUD操作.在这之前先更正一下上篇中关于检查索引是否存在的方法:elastic4s的具体调用如下: //删除索引 val rspExists ...

  4. bytectf2019 boring_code的知识学习&&无参数函数执行&&上海市大学生CTF_boring_code+

    参赛感悟 第三次还是第二次参加这种CTF大赛了,感悟和学习也是蛮多的,越发感觉跟大佬的差距明显,但是还是要努力啊,都大三了,也希望出点成绩.比赛中一道WEB都没做出来,唯一有点思路的只有EZCMS,通 ...

  5. [YII2.0] 高级模板简单安装教程

    YIICHINA官网教程就很完善:http://www.yiichina.com/tutorial/692 但是在yii2框架安装运行init.bat报错php.exe不是内部或外部命令, 解决办法: ...

  6. vue+element-ui中引入阿里播放器

    1.在public文件下的index.html文件中插入以下代码: <link rel="stylesheet" href="https://g.alicdn.co ...

  7. vscode 使用记录

    快捷键 Cmd+P 查找最近的文件 Ctrl+cmd + P 打开命令面板 Ctrl+tab文件间切换 Ctrl+` 打开终端 Cmd +b 隐藏侧边栏 VScode对多行编辑有两种模式 第一种模式 ...

  8. Java如何遍历二维数据

    /* 需求:二维数组遍历 外循环控制的是二维数组的长度,其实就是一维数组的个数. 内循环控制的是一维数组的长度.*/class Array2Test { public static void main ...

  9. Liunx常用操作(二)-vim中删除命令

    VIM简介 Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性.VIM是自由软件.Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Ema ...

  10. JZ2440 linux-3.4.2内核启动报错:Verifying Checksum ... Bad Data CRC

    使用的uboot版本是1.1.6,是打过u-boot-1.1.6_jz2440.patch的: kernel使用的版本是3.4.2, 也是打过linux-3.4.2_camera_jz2440.pat ...