定义一个学生类,学生属性包括姓名、年龄....等,通过封装的形式,当年龄小于0时,提示用户“输入年龄有误!请重新输入。”提交内容:代码+运行截图。 (1)完成有参、无参构造。 (2)提供get、set方法。 打印学生信息
时间: 2024-11-10 22:13:42 浏览: 17
类的一般形式共8页.pdf.zip
首先,我会创建一个名为`Student`的类,包含姓名、年龄等属性,并使用封装来处理年龄验证。以下是代码示例:
```java
public class Student {
private String name;
private int age;
// 无参构造器
public Student() {
this.age = 0; // 默认年龄设为0
}
// 有参构造器,接受年龄作为参数并进行有效性检查
public Student(String name, int age) {
if (age < 0) {
throw new IllegalArgumentException("输入年龄有误!请重新输入.");
}
this.name = name;
this.age = age;
}
// 提供getter方法获取姓名
public String getName() {
return name;
}
// 提供setter方法设置姓名,同样进行年龄验证
public void setName(String name) {
this.name = name;
}
// 提供getter方法获取年龄
public int getAge() {
return age;
}
// 提供setter方法设置年龄,再次验证
public void setAge(int age) {
if (age < 0) {
throw new IllegalArgumentException("输入年龄有误!请重新输入.");
} else {
this.age = age;
}
}
// 打印学生信息
@Override
public String toString() {
return "学生姓名: " + name + ", 年龄: " + age;
}
}
```
运行这个类的代码,需要一个主函数来实例化对象并打印信息,但这里无法直接提供运行截图。你可以尝试以下操作:
```java
public static void main(String[] args) {
// 创建一个无参学生对象
Student studentWithoutAge = new Student();
System.out.println(studentWithoutAge);
// 创建一个有参学生对象
try {
Student studentWithAge = new Student("张三", 18);
System.out.println(studentWithAge);
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}
// 设置年龄,如果输入错误会抛出异常
studentWithoutAge.setAge(-5); // 这将导致异常
}
```
运行上述代码,你会看到输出的信息以及年龄非法输入时的错误提示。
阅读全文