//定义一个Girl类,
//属性有:姓名name、年龄age、颜值face、身高height、省份add、爱好hobby(有多个爱好)
//方法有:做饭cook、工作work、弹琴play//1,在主类中创建5个Girl类的对象,并将她们放进一个数组中。
//2,输出省份是广东的女生的名字
//3,输出颜值高于80且身高高于165cm的女生的名字、颜值、身高
//4,把爱好为"购物"的女生的年龄存入一个ageArr数组
//5,从数组中删除颜值低于60的女生
创建Girl类对象数组后,遍历对象数组,逐一判断即可。下面是我的一个实现,供参考:
import java.util.Arrays;
public class Girl {
private String name; //姓名
private int age; //年龄
private int face; //颜值
private int height; //身高
private String add; //省份
private String[] hobby; //爱好
public Girl(String name, int age, int face, int height, String add, String[] hobby) {
super();
this.name = name;
this.age = age;
this.face = face;
this.height = height;
this.add = add;
this.hobby = hobby;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getFace() {
return face;
}
public void setFace(int face) {
this.face = face;
}
public int getHeight() {
return height;
}
public void setHeight(int height) {
this.height = height;
}
public String getAdd() {
return add;
}
public void setAdd(String add) {
this.add = add;
}
public String[] getHobby() {
return hobby;
}
public void setHobby(String[] hobby) {
this.hobby = hobby;
}
public void cook() {
System.out.println(this.getName()+"在做饭!");
}
public void work() {
System.out.println(this.getName()+"在工作!");
}
public void play() {
System.out.println(this.getName()+"在弹琴!");
}
@Override
public String toString() {
return "Girl [name=" + name + ", age=" + age + ", face=" + face + ", height=" + height + ", add=" + add
+ ", hobby=" + Arrays.toString(hobby) + "]";
}
public static void main(String[] args) {
// TODO Auto-generated method stub
//1、创建5个Girl类对象
Girl[] girls = new Girl[5]; //创建存储5个女生信息的数组
//把女生信息数组逐一初始化赋值
girls[0]= new Girl("小花",25,85,165,"广东", new String[] {"购物","追剧"});
girls[1]= new Girl("小美",23,86,166,"北京", new String[] {"美食","高尔夫"});
girls[2]= new Girl("小如",18,84,162,"上海", new String[] {"读书","追剧"});
girls[3]= new Girl("小梅",22,83,168,"深圳", new String[] {"购物","打游戏"});
girls[4]= new Girl("小月",26,59,160,"湖北", new String[] {"瑜伽","追剧"});
//2、输出身份是广东女生的名字
System.out.println("身份是广东的女生是:");
for(Girl girl:girls) {
if(girl.getAdd().equals("广东")) {
System.out.print(girl.getName()+" ");
}
}
System.out.println("\n");
//3.输出颜值80且身高高于165cm的女生信息
System.out.println("颜值高于80且身高高于165cm的女生有:");
for(Girl girl:girls) {
if(girl.getHeight()>165&&girl.getFace()>80) {
System.out.print("姓名:"+girl.getName()+", 颜值:"+girl.getFace()+", 身高:"+girl.getHeight());
System.out.println();
}
}
System.out.println("\n");
//4、把喜欢购物的女生年龄放入ageArr数组
int len=0;
//遍历数组,寻找喜欢购物的有几个
for(int i=0;i<5;i++) {
String [] hobby = girls[i].getHobby();
if(hobby!=null) {
for(String ho:hobby) {
if(ho.equals("购物")) {
len++;
break;
}
}
}
}
int ageArr[] = new int[len]; //创建存储喜欢购物的女生的年龄数组
int j=0;
//再次遍历数组,将喜欢购物的女生年龄存入ageArr数组
for(int i=0;i<5;i++) {
String [] hobby = girls[i].getHobby();
if(hobby!=null) {
for(String ho:hobby) {
if(ho.equals("购物")) {
ageArr[j] = girls[i].getAge();
j++;
}
}
}
}
//打印结果
System.out.println("喜欢购物的女生年龄如下:");
for(int age:ageArr) {
System.out.print(age+" ");
}
System.out.println("\n");
//6.从数组删除颜值低于60的女生
int num =0;
for(Girl girl:girls) {
if(girl.getFace()<60) {
num++;
}
}
//System.out.println("num="+num+",girl num="+girls.length);
Girl [] finalGirl = new Girl[girls.length-num];
j=0;
for(Girl girl:girls) {
if(girl.getFace()>=60) {
finalGirl[j]=girl;
j++;
}
}
girls = finalGirl;
System.out.println("删除颜值低于60分的女生后的女生数组信息:");
for(Girl girl:girls) {
System.out.println(girl);
}
}
}