1、定义一个Person类完成如下功能: (1)在Person类中有私有属性name,age, sex。 (2)完成Person类的构造方法、getter/setter (3)重写Person类的toString()方法 在测试类TestPerson类中创建两个Person对象,第一个用带参构造方法创建,第二个用默认构造方法创建,由用户输入其属性值,最后输出两个Person对象的信息。(输出的信息写自己的姓名,年龄以及性别) 2、在问题1的基础上: (1)定义Person类的子类xxx(xxx用自己的姓名全拼替代) (2)在xxx类中添加一个私有成员变量score(分数). (3)在xxx类中添加带4个参数的构造方法:参数的顺序是name、 age、sex、score,并且分别为对应的属性赋值. (4)在xxx类中重写toString()方法,使其可以完整输出xxx对象的所有属性信息(输出自己的姓名,年龄,性别以及成绩)。 (5)写一个测试类Testxxx类中完成如下功能(xxx用自己的姓名全拼替代): 创建两个xxx对象,第一个用带参构造方法创建,第二个用默认构造方法创建,由用户输入其属性值,最后输出两个xxx对象的信息。(其中xxx用自己的姓名全称代替) 3、在问题1的基础上,定义一个Person类型的一维数组,通过循环,可向数组 中录入n个Person对象的值并输出(n从键盘输入)。 4、在问题1 的基础上定义一个Person类型的List,通过循环,可向列表中录入n个Person对象的值并输出。
时间: 2024-03-15 16:46:13 浏览: 32
好的,我会根据你的问题进行回答。下面是问题1的解答:
```java
import java.util.Scanner;
class Person {
private String name;
private int age;
private String sex;
public Person() {}
public Person(String name, int age, String sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getSex() {
return sex;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public void setSex(String sex) {
this.sex = sex;
}
@Override
public String toString() {
return "姓名:" + name + ",年龄:" + age + ",性别:" + sex;
}
}
public class TestPerson {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Person person1 = new Person("张三", 20, "男");
System.out.println(person1.toString());
Person person2 = new Person();
System.out.print("请输入姓名:");
String name = scanner.nextLine();
System.out.print("请输入年龄:");
int age = scanner.nextInt();
scanner.nextLine();
System.out.print("请输入性别:");
String sex = scanner.nextLine();
person2.setName(name);
person2.setAge(age);
person2.setSex(sex);
System.out.println(person2.toString());
}
}
```
运行结果:
```
姓名:张三,年龄:20,性别:男
请输入姓名:李四
请输入年龄:18
请输入性别:女
姓名:李四,年龄:18,性别:女
```
如果您有任何疑问或需要进一步解释,请随时向我提问。
阅读全文