百鬼あやめ387 2022-07-22 10:13 采纳率: 66.7%
浏览 55
已结题

求专家解答,怎样放进数组

img


//定义一个Girl类,
//属性有:姓名name、年龄age、颜值face、身高height、省份add、爱好hobby(有多个爱好)
//方法有:做饭cook、工作work、弹琴play//1,在主类中创建5个Girl类的对象,并将她们放进一个数组中。
//2,输出省份是广东的女生的名字
//3,输出颜值高于80且身高高于165cm的女生的名字、颜值、身高
//4,把爱好为"购物"的女生的年龄存入一个ageArr数组
//5,从数组中删除颜值低于60的女生

  • 写回答

2条回答 默认 最新

  • a5156520 2022-07-22 11:27
    关注

    创建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);
            }
            
        }
    
    }
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月31日
  • 已采纳回答 7月23日
  • 创建了问题 7月22日

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大