用Java实现:定义一个学生类,学生属性包括姓名、年龄....等,通过封装的形式,当年龄小于0时,提示用户“输入年龄有误!请重新输入。”提交内容:代码+运行截图。 (1)完成有参、无参构造。 (2)提供get、set方法。 (3)打印学生信息。
时间: 2024-10-20 14:05:09 浏览: 6
首先,我们定义一个名为`Student`的类,包含姓名`name`、年龄`age`等属性,并添加必要的封装以及 getter 和 setter 方法。同时,我们会实现构造函数和错误检查功能:
```java
public class Student {
// 属性
private String name;
private int age;
// 无参构造器
public Student() {
this.name = "";
this.age = 0;
}
// 有参构造器
public Student(String name, int age) {
if (age < 0) {
throw new IllegalArgumentException("输入年龄有误!请重新输入.");
}
this.name = name;
this.age = age;
}
// Getters and Setters
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
if (age < 0) {
throw new IllegalArgumentException("输入年龄有误!请重新输入.");
}
this.age = age;
}
// 打印学生信息
@Override
public String toString() {
return "学生姓名:" + name + ", 年龄:" + age;
}
// 示例:创建并打印学生对象
public static void main(String[] args) {
// 无参构造
Student studentNoArg = new Student();
System.out.println("无参构造的学生信息:" + studentNoArg);
// 有参构造
Student studentWithArg = new Student("张三", 18);
System.out.println("有参构造的学生信息:" + studentWithArg);
// 设置非法年龄会抛出异常
try {
studentWithArg.setAge(-5); // 这将抛出IllegalArgumentException
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}
}
}
```
当你运行这个 `main` 方法时,它会创建一个无参和一个有参的学生对象,然后分别打印他们的信息。尝试设置负年龄时,将会捕获到 `IllegalArgumentException` 并显示相应的错误消息。
阅读全文