对象数组Object[]。对象数组也是一种引用传递,放对象的数组。
1、设计一个学生类、创建一个学生对象数组,保存十个学生对象
System.out.println("女生人数:"+Test.getGenderNumber(std,'f'));
System.out.println("平均年龄:"+Test.averageAge(std));
1、设计一个学生类、创建一个学生对象数组,保存十个学生对象
2、设计Test类、设计两个成员方法用来统计学生对象数组中男女生人数以及班级的平均年龄。
学生类。
class Student()
{
String name;
int age;
char gender;
Student()
{
System.out.println("创建了一个学生对象");
}
Student(String name,int age,char gender)
{
this.name=name;
this.age=age;
this.gender=gender;
}
public void introduce()
{
System.out.println("姓名:"+this.name+" ,性别"+this.gender+" ,年龄:"+this.age);
}
}
在同包中创建Test类,统计学生对象数组中男女生人数以及班级的平均年龄。
getGenderNumber(Student[] std,char gender)、averageAge(Student[] std)声明为为静态方法,可以用类名,直接调用。
for(Student s:std),加强型for循环,适用于不知道循环次数的循环。
Student[] std为对象数组。
class Test()
{
public static int getGenderNumber(Student[] std,char gender)
{
int male_number=0;
int female_number=0;
for(Student s:std)
{
if(s.gender=='M'||s.gender=='m')
{
male_number++;
}
else if(s.gender=='F'||s.gender=='f')
{
female_number++;
}
}
if(gender=='m'||gender=='M')
{
return male_number;
}
else
{
return female_number;
}
}
public static int averageAge(Student[] std)
{
int sum=0;
for(Student s:std)
{
sum+=s.age;
}
return sum/stu.length;
}
public static void main(String[] args)
{
Student[] std={
new Student("张三","20","M"),
new Student("李四","21","F"),
new Student("王五","15","M"),
new Student("赵六","22","M"),
new Student("孙七","20","F")
};
//增强型for循环,foreach。实用于数组,集合
for(Student s:std)
{
s.introduce();
System.out.println("----------------");
System.out.println("男生人数:"+Test.getGenderNumber(std,'m'));
System.out.println("女生人数:"+Test.getGenderNumber(std,'f'));
System.out.println("平均年龄:"+Test.averageAge(std));
}
}
}
System.out.println("男生人数:"+Test.getGenderNumber(std,'m'));
System.out.println("女生人数:"+Test.getGenderNumber(std,'f'));
System.out.println("平均年龄:"+Test.averageAge(std));
分别打印男女生人数和平均年龄。