题目要求:
定义一个Student实体类,成员变量:name、age。静态成员变量:在线人数。
在测试类中:创建集合,存储学生对象,每创建一个学生对象,在线人数+1,删除一个学生对象,在线人数-1
- 定义方法完成:请给集合中存储3个学生对象,并遍历集合,并输出在线人数。
- 定义方法完成:请判断集合中是否有年龄小于18岁的,如果有小于18岁的,请在集合中删除该对象,并输出在线人数。
题目分析:
1.成员变量:没有static修饰 private 变量名;
静态成员变量:有static修饰 private static 变量名
2.创建集合:ArrayList<数据类型> 集合名 =new ArrayList<>()
3.集合中删除对象的方法:remove(删除对象的索引)
题目需求:
1.Student实体类:
private String name;
private int age;
private static int num;
有/无参构造器
getter/setter
2.测试类
学生对象集合:ArrayList<Student> list=new ArrayList()
方法一:
输出在线人数
方法二:
按照要求删除指定的集合
代码运行效果如下:
代码流程:
//Student.java 实体类
package com.test.StudentDemo_test7;
public class Student {
//成员变量
private String name;
private int age;
//静态成员变量
private static int num;
//构造器
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
//getter/setter
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 static int getNum() {
return num;
}
public static void setNum(int num) {
Student.num = num;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
//Test.java测试类
package com.test.StudentDemo_test7;
import com.test.TeacherDemo_test1.People;
import org.w3c.dom.ls.LSOutput;
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
//创建一个ArrayList集合存放学生信息数据
ArrayList<Student> list=new ArrayList<>();
//使用.add()方法添加数据
list.add(new Student("张三",20));
list.add(new Student("李四",17));
list.add(new Student("王五",30));
System.out.println("======= 方法一 =======");
PeopleNum(list);
System.out.println("======= 方法二 =======");
isAge(list);
}
//1-定义方法完成:请给集合中存储3个学生对象,并遍历集合,并输出在线人数。
public static void PeopleNum(ArrayList<Student> list){
//定义一个变量用于存放在线人数
int num=0;
//循环遍历集合
for (int i = 0; i < list.size(); i++) {
//获取Student变量
Student s=list.get(i);
//每添加一次就++
num++;
Student.setNum(num);
}
System.out.println("当前人数有:"+Student.getNum());//3
}
//定义方法完成:请判断集合中是否有年龄小于18岁的,
// 如果有小于18岁的,请在集合中删除该对象,并输出在线人数。
public static void isAge(ArrayList<Student> list){
//设置一个变量用于存放删除后的在线人数
int num1=0;
for (int i = 0; i < list.size(); i++) {
Student s=list.get(i);
//判断
if(list.get(i).getAge()<18){
list.remove(s);
}
num1++;
Student.setNum(num1);
}
System.out.println("删除后的对象有:");
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
System.out.println("删除后的人数有:"+Student.getNum());
}
}
标签:练习题,JAVA,name,int,age,list,面向对象,Student,public
From: https://blog.csdn.net/Hyx15731264036/article/details/139657043