博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对象数组
阅读量:5052 次
发布时间:2019-06-12

本文共 2286 字,大约阅读时间需要 7 分钟。

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;
    }
}

 

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

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

转载于:https://www.cnblogs.com/qingfengzhuimeng/p/6491859.html

你可能感兴趣的文章
Dropbox改进版创业项目AeroFS,支持内网跨设备文件同步,云端容量无限大
查看>>
多线程
查看>>
hadoop完全分布式安装(转)
查看>>
名字的漂亮度
查看>>
@bzoj - 4382@ [POI2015] Podział naszyjnika
查看>>
jmeter自动化-json提取器的使用
查看>>
SQL Server(1)数据库基础
查看>>
java 遍历数组的几种方式
查看>>
RAC碎碎念
查看>>
基于Maven构建ssh分模块项目
查看>>
WIndows Phone 7的MVVM Light框架
查看>>
关于注解的初级认识
查看>>
mysql group by 报错 ,only_full_group_by 三种解决方案
查看>>
(转载)iOS UILabel自定义行间距时获取高度
查看>>
Linux里$等记得转义
查看>>
Powershell使用管道
查看>>
银行卡输入特效 4个加一空格
查看>>
zip unzip linux下使用
查看>>
每日英语:Instant Gratification: China Luxury Buyers Getting More Impulsive
查看>>
Java数据库操作学习
查看>>