黑马程序员技术交流社区

标题: 容量,今天的作业,感觉到了不足,希望大神能指点下size [打印本页]

作者: 姜群    时间: 2015-9-1 23:32
标题: 容量,今天的作业,感觉到了不足,希望大神能指点下size
/**
1、定义一个容器(存储相同类型数据的,int)
Container:
add(int num)
get(int index)
size():可以获取当前容器已经存储了多少个元素
注意:架设我的内存足够大,没有限制,我可以无限制的往容器里面添加元素

*/
import java.util.*;
class Arr
{ int count=0;
int[] arr=new int[2];


public void add(){
  //每调用一次,数组赋值加1
  count++;
  //键盘录入要加入数组的数字
  Scanner s=new Scanner(System.in);
  System.out.println("输入要添加的数字");
  int num=s.nextInt();
  //如果加数字的次数大于数组的长度
  if(count>arr.length){
   //用temp指向数组
   int[]temp=arr;
   //arr原来的数组被temp指向,它可以创建个新数组
   arr=new int[(arr.length)*2];
   //把原来数组的值复制到新数组中
   for(int x=0;x<temp.length;x++){
    arr[x]=temp[x];
    arr[x+1]=num;
    }
   }else{
    //如果加入数字的次数小于等于数组的长度,把每次键盘入入的值,赋值到数组中
    arr[count-1]=num;
  
  }//打印数组
  for(int x=0;x<arr.length;x++){
  System.out.println(arr[x]);
  
  }

}
}
class ArrDome
{
public static void main(String[] args)
{//调用方法,没调用一次,数组里面加一个数字
  Arr a=new Arr();
  a.add();
  a.add();
  a.add();
  a.add();
  a.add();
  a.add();
}
}


作者: MilesMatheson    时间: 2015-9-1 23:47
这个思路有意思,等你学到集合就不用那么麻烦了,自动扩展长度;
作者: wankaz    时间: 2015-9-1 23:48
等着学 集合吧.. 集合是可变长度的..




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2