用Java代码实现:定义一个学生类,学生属性包括姓名、年龄....等,通过封装的形式,当年龄小于0时,提示用户“输入年龄有误!请重新输入。”提交内容:代码+运行截图。 (1)完成有参、无参构造。 (2)提供get、set方法。 (3)打印学生信息。
时间: 2024-10-20 19:04:58 浏览: 12
在Java中,你可以按照以下步骤创建一个封装良好的`Student`类来满足你的需求:
```java
import java.util.Scanner;
class Student {
private String name;
private int age;
// 构造函数,有参和无参
public Student(String name) {
this.name = name;
this.age = validateAge(0); // 初始化年龄为0,并验证
}
public Student() {
this("未知");
}
// 有参构造方法
public Student(String name, int age) {
this.name = name;
if (validateAge(age)) {
this.age = age; // 如果年龄有效,则设置
} else {
System.out.println("输入年龄有误!请重新输入.");
Scanner scanner = new Scanner(System.in);
System.out.print("请输入正确的年龄: ");
this.age = scanner.nextInt();
}
}
// get方法获取属性值
public String getName() {
return name;
}
// set方法设置属性值并验证年龄
public void setName(String name) {
this.name = name;
}
// 提供get、set方法处理年龄
public int getAge() {
return age;
}
// 私有方法用于验证年龄是否合法
private boolean validateAge(int age) {
return age >= 0;
}
// 打印学生信息
@Override
public String toString() {
return "姓名: " + name + ", 年龄: " + age;
}
// 主程序入口,演示如何创建对象并打印信息
public static void main(String[] args) {
Student student1 = new Student("张三");
System.out.println(student1);
Student student2 = new Student("李四", 20);
System.out.println(student2);
}
}
```
当你运行这个程序时,会看到两个学生对象的信息,以及年龄小于0时的错误提示。
**
阅读全文