使用Java封装实现如下功能: 。定义包含三个元素的对象数组,数据类型为Student,并使用for循环遍历输出每个学生的年龄。每个学员对象的年龄必须在18-30岁之间:Student类与测试类要求在不同包中。
时间: 2024-10-16 14:21:06 浏览: 35
为了在Java中实现这个功能,你需要创建两个类:一个名为`Student`的类表示学生,以及一个位于不同包下的`TestClass`(或者你给它取别的名字)来进行测试并遍历数组。
首先,在`com.example.student`包下创建`Student`类:
```java
// Student.java (com.example.student包)
package com.example.student;
public class Student {
private String name;
private int age;
// 构造函数、getter和setter
public Student(String name, int age) {
this.name = name;
if (age >= 18 && age <= 30) {
this.age = age;
} else {
throw new IllegalArgumentException("Age must be between 18 and 30");
}
}
// Getter方法
public int getAge() {
return age;
}
// toString()方法用于打印信息
@Override
public String toString() {
return "Name: " + name + ", Age: " + age;
}
}
```
然后,在`com.example.test`包下的`TestClass.java`中进行测试:
```java
// TestClass.java (com.example.test包)
package com.example.test;
import com.example.student.Student;
public class TestClass {
public static void main(String[] args) {
// 创建一个Student对象数组
Student[] students = {
new Student("Alice", 25),
new Student("Bob", 20),
new Student("Charlie", 32) // 这里年龄超出了范围,会抛出异常
};
// 遍历数组并打印每个学生的年龄
for (Student student : students) {
System.out.println(student);
}
}
}
```
当运行`TestClass`的`main`方法时,程序会打印出所有年龄在18到30岁的学生姓名及其年龄。如果数组中有超过18或低于30岁的学生,`IllegalArgumentException`会被抛出。记得在实际项目中替换包名和类名,保持命名规范。同时,对于异常处理可以根据需要进行适当的修改。
阅读全文