java入门——对象数组
来源:互联网 发布:java逆序输出字符串 编辑:程序博客网 时间:2024/06/15 10:48
使用对象数组实现“小鸡管理系统”
//对象数组import java.util.Arrays;public class Test10{public static void main(String[] args){ChickenManager cm = new ChickenManager(5);cm.add(new Chicken(1,"波波",18));cm.add(new Chicken(2,"小丽",23));cm.add(new Chicken(3,"小新",17));cm.add(new Chicken(4,"小红",5));cm.add(new Chicken(5,"小白",18));System.out.println("---------查找所有-------------");cm.findAll();System.out.println("---------根据ID查找-------------");Chicken c = cm.find(1);c.print();System.out.println("---------更新-------------");cm.update(new Chicken(1,"战斗鸡",20));c = cm.find(1);c.print();System.out.println("---------删除-------------");cm.delete(1);cm.findAll();cm.add(new Chicken(6,"小黑",4));cm.add(new Chicken(7,"小建",5));cm.findAll();System.out.println(cm.length());}}//小鸡管理类class ChickenManager{//cs = {1,2,3,4,5,null,null,null,null,null};private Chicken[] cs;//用于存储小鸡的对象数组private int count = 0;//当前数组中有的对象个数(下标)public ChickenManager(int len){if(len>0){cs = new Chicken[len];}else{cs = new Chicken[5];}}public int length(){return cs.length;}//添加小鸡public void add(Chicken c){//数组已满,需要进行扩充if(count>=cs.length){//1、cs.length*3/2+1; 扩充的算法(原来的一半)//2、cs.length*2;原来的一倍int newLen = cs.length*2; //cs = Arrays.copyOf(cs,newLen); //会创建 一个新的数组,并把源数组中的数据复制到新数组中}cs[count] = c;count++;}//删除小鸡public void delete(int id){for(int i=0;i<count;i++){if(cs[i].getId()==id){for(int j=i;j<count-1;j++){cs[j] = cs[j+1];}cs[count-1] = null;count--;break;}}}//更新小鸡public void update(Chicken c){Chicken temp = find(c.getId());if(temp!=null){temp.setName(c.getName());temp.setAge(c.getAge());}}//查找小鸡public Chicken find(int id){for(int i=0;i<count;i++){if(cs[i].getId()==id){return cs[i];}}return null;}//查找所有小鸡public void findAll(){for(int i=0;i<count;i++){cs[i].print();}}}//小鸡类class Chicken{private int id;private String name;private int age;public Chicken(){}//一般情况下最好保留默认的构造方法public Chicken(int id,String name,int age){this.id = id;this.name = name;this.age = age;}public void setId(int id){this.id = id;}public int getId(){return id;}public void setName(String name){this.name = name;}public String getName(){return name;}public void setAge(int age){this.age = age;}public int getAge(){return age;}public void print(){System.out.println("id="+id+",name="+name+",age="+age);}}
0 0
- java入门——对象数组
- JSON——入门语法、对象、数组
- Java入门——对象
- Java基础学习第六天——二维数组与面向对象入门
- Java入门(3)——数组
- Java入门(3)—— 数组
- Java基础知识——对象数组
- Java复习——对象数组
- java入门之——对象转型
- JAVA面向对象——对象数组概念与举例
- Java入门之对象数组及集合概述
- java语言基础入门——数组的介绍
- c# 入门级Java对比 6 —— 数组
- JAVA从入门到精通(5)——数组
- 恶补java(六)——对象数组的使用
- Java的特殊类——数组对象的类
- Java基础知识——面向对象、数组、常用类
- Java 入门(四) 数组 -------程序设计的工具对象 向面向对象过渡
- topcoder中赚钱入门
- bzoj 2179 [快速傅里叶变换]
- C++语言的fault/error/failure(软件测试)
- bzoj 1025: [SCOI2009]游戏 (置换+分组背包)
- 【转】Vector、List、Table、Map等JAVA集合
- java入门——对象数组
- 在Div里加载页面
- 02-线性结构1 两个有序链表序列的合并 (15分) (单向链表)
- 一步一步写平衡二叉树(AVL树)
- CODEVS 4768 跳石头 二分
- 学习算法(1)——2分查找法
- Spark性能调优-调节executor堆外内存
- CSS
- 陀螺仪随机误差的Allan方差分析