zoukankan      html  css  js  c++  java
  • 对象数组

    package com.test4;
    import java.io.*;

    /**
     * @author qingfeng
     *
     * 功能:对象数组的使用
     *
     * 养狗场问题:命令行输入狗的名字和体重
     * 问题1:计算它们的平均体重
     * 问题2:找出最大和最小狗的名字
     * 问题3:输入某个狗可以显示其体重
     */
    public class Object
    {
        public static void main(String[] args) throws IOException
        {
            // TODO Auto-generated method stub
            Dog[] dogs = new Dog[4];//对象数组!
            
            Float totalWeight=0f;
            
            for(int i=0; i<dogs.length; i++)
            {
                dogs[i] = new Dog();//很重要!否则会报空指针错误!(因为数组存的是对象的引用)
                
                System.out.println("请输入第"+(i+1)+"个狗的名字:");
                InputStreamReader isr = new InputStreamReader(System.in);
                BufferedReader br  = new BufferedReader(isr);
                String name = br.readLine();
                dogs[i].setName(name);

                System.out.println("请输入第"+(i+1)+"个狗的体重:");
                String s_weight = br.readLine();
                Float weight= Float.parseFloat(s_weight);
                dogs[i].setWeight(weight);
                
                
                totalWeight += dogs[i].getWeight();
            }
            System.out.println("平均重量为:"+(totalWeight/dogs.length));
            
            //选择排序思想找出最大重量和最小重量
            float maxWeight;
            maxWeight = dogs[0].getWeight();
            int maxIndex = 0;
            for(int i=1; i<dogs.length; i++)
            {
                if(maxWeight < dogs[i].getWeight())
                {
                    maxWeight = dogs[i].getWeight();
                    maxIndex = i;
                }
            }
            System.out.println("最大重量的狗是第"+(maxIndex+1)+"只狗,重量为"+maxWeight);
            float minWeight;
            minWeight = dogs[0].getWeight();
            int minIndex = 0;
            for(int i=1; i<dogs.length; i++)
            {
                if(minWeight > dogs[i].getWeight())
                {
                    minWeight = dogs[i].getWeight();
                    minIndex = i;
                }
            }
            System.out.println("最大重量的狗是第"+(minIndex+1)+"只狗,重量为"+minWeight);
            
            InputStreamReader isr  = new InputStreamReader(System.in);
            BufferedReader br  = new BufferedReader(isr);
            String name = br.readLine();
            int flag = 0;
            //判断是否和数组存在的值相等
            //易错点:String、对象判断相等用“equals”方法 ;int float double判断相等用“==”

            for (int i = 0; i < dogs.length; i++)
            {
                if (dogs[i].getName().equals(name))
                {
                    System.out.println("狗的重量为:" + dogs[i].getWeight());
                    flag = 1;
                }
            }
            if (flag == 0) {
                System.out.println("你输入的狗不存在!");
            }

        }
            
    }

    class Dog
    {
        //私有变量
        private String name;
        private float weight;
        
        //setter和getter方法
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public float getWeight() {
            return weight;
        }
        public void setWeight(float weight) {
            this.weight = weight;
        }

    }

    /******************************************************************/

    /***********************************************************************/

  • 相关阅读:
    .Net Core小技巧
    调用Kubernetes API操作Kubernetes
    在CentOS 7+ 安装Kubernetes入门(单Master)
    Linux命令行基础
    使用wireshark学习TCP
    Redis原子性写入HASH结构数据并设置过期时间
    Vue使用小结
    JAVA & .NET创建对象构造函数调用顺序
    .NET 中的序列化 & 反序列化
    ASP.NET Core中使用Graylog记录日志
  • 原文地址:https://www.cnblogs.com/qingfengzhuimeng/p/6491859.html
Copyright © 2011-2022 走看看