编程题:声明一个类Person,成员变量有姓名、出生年月、性别、有成员方法以显示姓名、年龄和性别。
时间: 2023-05-15 15:04:35 浏览: 124
好的,这是一个简单的类定义:
```python
class Person:
def __init__(self, name, birthdate, gender):
self.name = name
self.birthdate = birthdate
self.gender = gender
def display_info(self):
print(f"姓名:{self.name},年龄:{self.get_age()},性别:{self.gender}")
def get_age(self):
today = date.today()
age = today.year - self.birthdate.year
if today.month < self.birthdate.month or (today.month == self.birthdate.month and today.day < self.birthdate.day):
age -= 1
return age
```
这个类有一个构造函数,用于初始化成员变量,还有一个 `display_info` 方法,用于显示姓名、年龄和性别。`get_age` 方法用于计算年龄。
相关问题
Java编程题:声明一个类Person,成员变量有姓名、出生年月、性别、有成员方法以显示姓名、年龄和性别。
好的,这是一个简单的Java编程题,声明一个Person类,包含姓名、出生年月、性别三个成员变量,以及一个显示姓名、年龄和性别的成员方法。以下是代码示例:
public class Person {
private String name;
private int birthYear;
private int birthMonth;
private int birthDay;
private String gender;
public Person(String name, int birthYear, int birthMonth, int birthDay, String gender) {
this.name = name;
this.birthYear = birthYear;
this.birthMonth = birthMonth;
this.birthDay = birthDay;
this.gender = gender;
}
public String getName() {
return name;
}
public int getAge() {
Calendar cal = Calendar.getInstance();
int yearNow = cal.get(Calendar.YEAR);
int monthNow = cal.get(Calendar.MONTH) + 1;
int dayNow = cal.get(Calendar.DAY_OF_MONTH);
int age = yearNow - birthYear;
if (birthMonth > monthNow || (birthMonth == monthNow && birthDay > dayNow)) {
age--;
}
return age;
}
public String getGender() {
return gender;
}
public void displayInfo() {
System.out.println("姓名:" + name);
System.out.println("年龄:" + getAge());
System.out.println("性别:" + gender);
}
}
在这个Person类中,我们定义了一个构造函数,用于初始化成员变量;getName、getAge、getGender三个方法用于获取姓名、年龄和性别;displayInfo方法用于显示姓名、年龄和性别。
Java语言编程题:声明一个类Person,成员变量有姓名、出生年月、性别、有成员方法以显示姓名、年龄和性别。并测试
好的,以下是声明一个类Person的Java代码:
```
public class Person {
private String name;
private int birthYear;
private int birthMonth;
private int birthDay;
private String gender;
public Person(String name, int birthYear, int birthMonth, int birthDay, String gender) {
this.name = name;
this.birthYear = birthYear;
this.birthMonth = birthMonth;
this.birthDay = birthDay;
this.gender = gender;
}
public String getName() {
return name;
}
public int getAge() {
LocalDate birthDate = LocalDate.of(birthYear, birthMonth, birthDay);
LocalDate currentDate = LocalDate.now();
return Period.between(birthDate, currentDate).getYears();
}
public String getGender() {
return gender;
}
public void displayInfo() {
System.out.println("Name: " + name);
System.out.println("Age: " + getAge());
System.out.println("Gender: " + gender);
}
}
```
以下是测试代码:
```
public class Main {
public static void main(String[] args) {
Person person = new Person("张三", 1990, 1, 1, "男");
person.displayInfo();
}
}
```
输出结果为:
```
Name: 张三
Age: 31
Gender: 男
```