public Person(String[] info) { // 构造函数:获取字符串数组并将其分配给实例变量 // 完成该方法:TODO if (info.length < 9) { throw new IllegalArgumentException("Invalid number of elements in the info array"); } this.firstName = info[0]; this.familyName = info[1]; this.nickname = info[2]; this.reward = Integer.parseInt(info[3]); this.nationality = info[4]; this.idCode = info[5]; this.crimes = info[6]; this.dob = convertDateOfBirth(info[7]); this.photo = readImage(info[8]); }
时间: 2024-03-04 22:51:42 浏览: 98
这段代码是一个Java类中的构造函数,该类可能是用于描述个人信息的类。该构造函数接受一个字符串数组作为参数,并将其分配给该类的实例变量。具体实现如下:
- 如果字符串数组的长度小于9,则抛出一个IllegalArgumentException异常,提示数组元素个数无效。
- 将字符串数组中的第0个元素分配给实例变量firstName。
- 将字符串数组中的第1个元素分配给实例变量familyName。
- 将字符串数组中的第2个元素分配给实例变量nickname。
- 将字符串数组中的第3个元素转化为整型并分配给实例变量reward。
- 将字符串数组中的第4个元素分配给实例变量nationality。
- 将字符串数组中的第5个元素分配给实例变量idCode。
- 将字符串数组中的第6个元素分配给实例变量crimes。
- 将字符串数组中的第7个元素作为字符串类型的出生日期,调用convertDateOfBirth方法将其转化为LocalDate类型,并分配给实例变量dob。
- 将字符串数组中的第8个元素作为字符串类型的图片文件路径,调用readImage方法读取该图片文件并分配给实例变量photo。
具体实现中"convertDateOfBirth"和"readImage"方法的实现需要查看该类的代码。
相关问题
定义Person类 成员属性:Person类的属性(变量): 姓名: name,字符串类型:String; 性别: sex,字符型:char; 年龄: age,整型:int。 3个重载的构造函数: public Person(String s) //设置姓名 public Person(String s,char c) //调用本类的构造函数Person(String s),设置性别 public Person(String s,char c,int i)//调用本类的构造函数PersonPerson(String s,char),设置年龄 1个成员方法: public String toString()//获得姓名、性别和年龄
以下是定义Person类的代码:
```java
public class Person {
private String name;
private char sex;
private int age;
// 构造函数1:设置姓名
public Person(String s) {
name = s;
}
// 构造函数2:调用本类的构造函数Person(String s),设置性别
public Person(String s, char c) {
this(s);
sex = c;
}
// 构造函数3:调用本类的构造函数Person(String s,char),设置年龄
public Person(String s, char c, int i) {
this(s, c);
age = i;
}
// 成员方法:获得姓名、性别和年龄
public String toString() {
return "Name: " + name + ", Sex: " + sex + ", Age: " + age;
}
}
```
可以使用以下代码创建一个Person对象并调用toString()方法:
```java
Person p = new Person("Tom", 'M', 30);
System.out.println(p.toString());
```
输出结果为:
```
Name: Tom, Sex: M, Age: 30
```
定义一个Person类,可以在应用程序中使用该类。 成员属性:Person类的属性(变量): 姓名:name,字符串类型:String; 性别:sex,字符型:char; 年龄:age,整型:int。 3个构造函数: public Person(String s) //设置姓名 public Person(String s,char c) //调用本类的构造函数Person(String s),设置性别 public Person(String s,char c,int i)//调用本类的构造函数PersonPerson(String s,char),设置年龄 一个成员方法: public String toString()//获得姓名、性别和年龄 利用定义的Person类,请实例化对象,输出下面结果: 姓名:张三 性别:男 年龄:21 把下面程序补充完整,并调试通过写出结果
程序代码:
public class Person {
private String name;
private char sex;
private int age;
public Person(String s) {
this.name = s;
}
public Person(String s, char c) {
this(s);
this.sex = c;
}
public Person(String s, char c, int i) {
this(s, c);
this.age = i;
}
public String toString() {
return "姓名:" + this.name + " 性别:" + this.sex + " 年龄:" + this.age;
}
public static void main(String[] args) {
Person p = new Person("张三", '男', 21);
System.out.println(p.toString());
}
}
结果:
姓名:张三 性别:男 年龄:21
阅读全文