如果汉语背后没有文化,文化背后没有思想,思想背后没有精神,光TMD编造老娘和乔布斯没有说过的话,那中国永远不会是一个伟大的国家。——撒切尔夫人

2020/10/22 刘一辰的JAVA随笔

今日目标:修改 Java ArrayList 中的学生信息,并遍历集合输出结果。

实验代码:

请定义学生 类,属性包含姓名和年龄。用户输入需要修改的学生姓名,到 ArrayList 集合 中,修改学生年龄信息,并遍历集合打印学生信息。

  1. 定义学生类,属性包含姓名和年龄。
  2. 创建 ArrayList 集合对象,泛型声明为 Student 类型。
  3. 通过用户输入的学生姓名,调用方法获取该学生在集合中的索引。
  4. 通过索引更新指定学生年龄信息。

 

创建学生类

  public class Student
   {
  private String name;
  private int age;
    public Student()
    {
  }
    public Student(String name, int age)
    {
    this.name = name;
  this.age = age;
    }
  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;
      }
    }

用户输入学生姓名,更改学生年龄信息,并输出学生信息

    import java.util.ArrayList;
    import java.util.Scanner;
      public class ArrayListDemo04
    {
        public static void main(String[] args)
      {
    System.out.println("嗨客网(www.haicoder.net)\n");
// 定义一个 ArrayList 集合用于存储学生对象数据。
    ArrayList<Student> students = new ArrayList<>();
// 添加两个学生对象
      Student stu1 = new Student("haicoder",20);
      Student stu2 = new Student("特别",30);
    students.add(stu1);
      students.add(stu2);
  // 展示学生信息
    showStudent(students);
// 调用方法更改学生信息
      updateStudent(students);
}
/** * 获取学生在集合中的索引 * @param name * @param students * @return */
      public static int getIndex(String name,ArrayList<Student> students)
  {
      for (int i = 0; i < students.size(); i++)
  {
    Student stu = students.get(i);
    if(name.equals(stu.getName()
    )
  )
    {
      int index = i; return index;
    }
  }
// 该学生不存在
    return -1;
  }
/** * 更新学生信息 * @param students */
    public static void updateStudent(ArrayList<Student> students)
    {
// 提示用户修改学生信息
    Scanner sc = new Scanner(System.in);
    System.out.print("请您输入您需要修改学生的名字:");
  String name = sc.nextLine();
      int index = getIndex(name,students);
  if(index >= 0)
      {
    System.out.print("请您输入新的年龄:");
  int age = sc.nextInt();
      Student newStu = new Student(name,age);
    students.set(index,newStu);
    System.out.println("您的学生对象已经修改成功!\n");
// 展示学生信息
      showStudent(students);
    }else{
    System.out.println("该同学不存在!");
    }
      }
/** * 展示学生信息 * @param students */
    public static void showStudent(ArrayList<Student> students)
  {
    for (int i = 0; i < students.size(); i++)
      {
      Student s = students.get(i);
    System.out.println("学生信息为: " + s.getName() + " " + s.getAge() + "岁");
      }
    }
  }

此处实现修改集合中学生信息。

posted @   崤函隳  阅读(69)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示