算法--数组存储超出长度范围的值

案例要求**

前提: 通过Scanner可以获取控制录入的数据;

  1. 通过键盘录入整数;
  2. 使用数组将整数封存;
  3. 数组的容量为15;
  4. 控制台一直录入,往数组中储存数据,数组中始终保持最新的15个数据;
  5. 为了方便检查,在控制台输出;

分析:
Scanner sc = new Scanner(System.in) ;
② int[] array = new int[15] ;
③ 定义好长度为15的数组后, 思考的问题是,怎样存储超出array.length? 一种想法是在存入第16个数据时, 利用For循环将整个数组向前平移一位, 但是在数据量庞大的情况下, 这种做法无疑效率很低, 于是可以提出另一个思路, 就是将第16个数据覆盖住第一个数据(即索引为0的那个值);
④ 我们可以发现规律: 定义计数器count , 初始化 int count = 0 ,每当存入一个值之后 , count++, 当count = 15时, 这时, 键入的值应该放在0索引出, 即就是count%15 ==0 ;

代码如下:

算法--数组存储超出长度范围的值