封装一个小学生类Pupil,属性包括姓名、年龄、年级、性别(用整数0表示男生、1表示女生),提供相应的构造函数。小学生有一个上体育课的方法havePELesson,对于不同年级的学生进行不同处理如下: 一、二年级学生,输出"体育课进行队列操练" 三、四年级学生,输出"体育课学习体操" 五、六年级学生,输出"体育课进行球类练习" 创建并在控制台输入5个学生信息,用逗号分隔,输出5个学生上体育课的情况,并统计其中女生的数量。主函数中关于数据输入部分如下: public static void main(String[] args) { Pupil[] pupils=new Pupil[5]; String name; int age,level; int gender; Scanner s=new Scanner(System.in); int count=0; for(count=0;count<5;count++) { String info=s.nextLine(); String[] p=info.split(","); name=p[0]; age=Integer.parseInt(p[1]); level=Integer.parseInt(p[2]); if ((p[3].trim()).equals("0")) gender=0; else gender=1; pupils[count]=new Pupil(name,age,level,gender); } //下面结合自己写的Pupil类完成数据的输出 }
时间: 2023-06-04 14:07:20 浏览: 96
抱歉,我可以回答您的问题。以下是Pupil类的代码:
public class Pupil {
private String name;
private int age;
private int level;
private int gender;
public Pupil(String name, int age, int level, int gender) {
this.name = name;
this.age = age;
this.level = level;
this.gender = gender;
}
public void havePELesson() {
if (level < 3) {
System.out.println("体育课进行队列操练");
} else if (level < 5) {
System.out.println("体育课学习体操");
} else {
System.out.println("体育课进行球类练习");
}
}
public int getGender() {
return gender;
}
}
在主函数中,您可以按照以下方式输入和输出数据:
public static void main(String[] args) {
Pupil[] pupils = new Pupil[5];
String name;
int age, level;
int gender;
Scanner s = new Scanner(System.in);
int count = 0;
int girlCount = 0;
while (count < 5) {
String info = s.nextLine();
String[] p = info.split(",");
name = p[0];
age = Integer.parseInt(p[1]);
level = Integer.parseInt(p[2]);
if ((p[3].trim()).equals("0")) {
gender = 0;
} else {
gender = 1;
girlCount++;
}
pupils[count] = new Pupil(name, age, level, gender);
count++;
}
for (int i = 0; i < 5; i++) {
System.out.print(pupils[i].getGender() == 0 ? "男生:" : "女生:");
pupils[i].havePELesson();
}
System.out.println("女生数量:" + girlCount);
}
您可以在控制台输入以下数据进行测试:
张三,8,2,0
李四,10,3,1
王五,12,6,0
赵六,11,5,1
小七,9,4,1
输出应为:
男生:体育课进行队列操练
女生:体育课学习体操
男生:体育课进行球类练习
女生:体育课进行球类练习
女生:体育课学习体操
女生数量:3
阅读全文