2020/10/22 刘一辰的JAVA随笔
今日目标:修改 Java ArrayList 中的学生信息,并遍历集合输出结果。
实验代码:
请定义学生 类,属性包含姓名和年龄。用户输入需要修改的学生姓名,到 ArrayList 集合 中,修改学生年龄信息,并遍历集合打印学生信息。
- 定义学生类,属性包含姓名和年龄。
- 创建 ArrayList 集合对象,泛型声明为 Student 类型。
- 通过用户输入的学生姓名,调用方法获取该学生在集合中的索引。
- 通过索引更新指定学生年龄信息。
创建学生类
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() + "岁"); } } }此处实现修改集合中学生信息。

浙公网安备 33010602011771号