Java数组开发需求:打印指定学生Artan信息并计算平均年龄
解决你的Java学生数组需求
嘿,我来帮你搞定这两个功能!首先我先假设你的Student类已经定义了姓名和年龄属性,并且提供了对应的getName()和getAge() getter方法(如果还没写,我会在下面补一个基础的Student类示例)。
1. 打印姓名为Artan的学生信息
要实现这个功能,我们需要遍历整个学生数组,逐个检查学生的姓名是否等于"Artan"。这里要注意字符串比较一定要用equals()方法,而不是==——因为==比较的是对象引用,不是字符串的实际内容,新手很容易踩这个坑。
代码示例:
// 遍历学生数组 for (Student student : students) { // 检查姓名是否匹配 if ("Artan".equals(student.getName())) { // 打印学生信息,这里假设你已经重写了Student的toString()方法 System.out.println("找到Artan的信息:" + student); // 如果确定只有一个叫Artan的学生,找到后可以加break节省遍历时间 // break; } }
如果你的Student类还没重写toString(),可以直接输出具体属性:
System.out.println("姓名:" + student.getName() + ",年龄:" + student.getAge());
2. 计算所有学生的平均年龄
这个功能需要先累加所有学生的年龄总和,再除以学生总数。为了避免整数除法导致的精度丢失(比如总和是251,10个学生,整数除法会得到25,但实际平均是25.1),我们可以把总和转成double类型再计算。
代码示例:
int totalAge = 0; // 遍历累加所有学生的年龄 for (Student student : students) { totalAge += student.getAge(); } // 转成double计算平均,保证精度 double averageAge = (double) totalAge / students.length; System.out.println("所有学生的平均年龄为:" + averageAge);
完整示例代码
如果你还没有完整的Student类和测试代码,这里给你一个可直接运行的版本:
class Student { private String name; private int age; // 构造方法 public Student(String name, int age) { this.name = name; this.age = age; } // getter方法 public String getName() { return name; } public int getAge() { return age; } // 重写toString()方便打印学生信息 @Override public String toString() { return "Student{name='" + name + "', age=" + age + "}"; } } public class StudentDemo { public static void main(String[] args) { // 创建包含10个学生的数组(示例数据) Student[] students = { new Student("Alice", 18), new Student("Artan", 20), new Student("Bob", 19), new Student("Charlie", 21), new Student("David", 18), new Student("Eve", 20), new Student("Frank", 19), new Student("Grace", 22), new Student("Heidi", 18), new Student("Ivan", 20) }; // 功能1:打印Artan的信息 System.out.println("=== 姓名为Artan的学生信息 ==="); for (Student student : students) { if ("Artan".equals(student.getName())) { System.out.println(student); break; // 确定唯一的话加break更高效 } } // 功能2:计算平均年龄 System.out.println("\n=== 所有学生的平均年龄 ==="); int totalAge = 0; for (Student student : students) { totalAge += student.getAge(); } double averageAge = (double) totalAge / students.length; System.out.println("平均年龄:" + averageAge); } }
这段代码运行后会输出:
=== 姓名为Artan的学生信息 === Student{name='Artan', age=20} === 所有学生的平均年龄 === 平均年龄:19.5
内容的提问来源于stack exchange,提问作者Artan Mehmeti
相关产品推荐
相关产品推荐

