赞
踩
- pulic class Student{
- public String name;
- public int age;
- public String phone;
-
- public Student() {
- }
-
- public Student(String name, int age, String phone) {
- this.name = name;
- this.age = age;
- this.phone = phone;
- }
-
- public void info(){
- System.out.println("我叫:"+name+",今年:"+age+",电话是:"+phone);
- }
- }

- public class ArrayManage {
- // 声明一个学生类数组
- Student[] stus = new Student[3];
-
- // 实际长度 即数组中学生对象的个数
- int size=0;
-
- // 追加学生对象信息
- public void addStudent(Student stu){
- // 当添加的元素等于数组的实际长度时,给数组进行扩容
- if(stus.length == size){
- stus = Arrays.copyOf(stus,stus.length+2);
- }
- // 将学生对象添加到数组中
- stus[size] = stu;
- // 添加成功 实际长度+1
- size++;
- }
-
- // 查找
- public int search(String name){
- // 根据姓名查找学生所在的下标
- int index = -1;
- for (int i = 0; i < size; i++) { // size代表实际人数
- Student s = stus[i]; // 获取第i个学生对象
- if(s.name.equals(name)){ // 名称对比,如果一致就是找到了
- index = i;
- // 查找到跳出循环
- break;
- }
- }
- return index;
- }
-
- // 插入
- public boolean add(String name,Student stu){
- // 将新增学生对象 插入到指定学生之前
- int index = search(name);
- // 找到指定学生,将数组实际长度进行+1处理
- if (index!=-1){
- stus = Arrays.copyOf(stus,stus.length+1);
- for (int i = size-1; i >= index; i--) {
- stus[i+1] = stus[i];
- }
- stus[index] =stu;
- size++;
- return true;
- }else {
- return false;
- }
- }
-
- // 删除
- public boolean delete(String name){
- // 根据名字查询是否含有此人
- int index = search(name);
- if(index!=-1){ // [1,2,3,4] size =4 3
- for (int i = index; i < size-1; i++) {
- stus[i] = stus[i+1]; // 往前移动一位
- }
- stus[size-1]=null; // 最后一位为null
- size--; // 实际人数-1
- return true;
- }else{
- return false;
- }
- }
-
- // 排序
- public void paiXu(){
- for (int i = 1; i < size; i++) {
- for (int j = 0; j <size-i; j++) {
- // 根据学生的年龄进行排序
- if(stus[j].age > stus[j+1].age){
- Student temp = stus[j];
- stus[j] = stus[j+1];
- stus[j+1] = temp;
- }
- }
- }
- }
-
- public void dianming(){
- for (int i = 0; i < size; i++) {
- stus[i].info();
- }
- }
- }

- public class Test{
- public static void main(String[] args) {
- ArrayManage manage = new ArrayManage();
- // 添加学生对象
- manage.addStudent(new Student("张三",18,"15612312312"));
- manage.addStudent(new Student("李四",20,"15612312312"));
- manage.addStudent(new Student("王五",19,"15612312312"));
- manage.addStudent(new Student("张麻子",17,"15612312312"));
- // 遍历
- manage.dianming();
- System.out.println("===================================================");
-
- // 查询
- int index = manage.search("李四");
- System.out.println(index);
-
- System.out.println("===================================================");
- // 指定位置添加对象
- manage.add("李四",new Student("赵六",21,"123123123123"));
- manage.dianming();
-
- System.out.println("===================================================");
- // 删除
- manage.delete("李四");
- manage.dianming();
-
- System.out.println("===================================================");
- // 根据年龄进行排序
- manage.paiXu();
- manage.dianming();
- }
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。