数组(2)

一、数组排序问题

使用Arrays.sort(数组名);

实现对数组中的元素按升序或降序输出

课堂案例:

有数列1,10,-10,0,8,4,要求实现按升序或降序输出,或逆序输出(反转)

 

二、求最大值或最小值

实现思路:

     将数组中的第1个元素的值,假想成最大(小)值【赋值】;然后数组中的每个元素和假想的这个最大(小)数进行比较,如果数组中的某个元素的值,比最大(小)数要大(小),将该元素的值,保存到假想的最大(小)值对应的变量中【给假想最值变量赋值】

 

三、求数组中最值的位置

1、    在循环的外面,定义变量k,用于保存最值的下标

2、    在循环中,比较找出最值的同时,给变量k赋值

 

四、              斐波那契数列

1,1,2,3,5,8,13,21,34……求第20个数字的值?(使用循环)

规律:第i个 + 第(i+1)个 = 第(i+2)个

步骤1:定义数组,数组长度为20

     int []nums=new int[20];

步骤2:根据规律,获取第0个和第1个数的初值

     nums[0]=1;

     nums[1]=1;

步骤3:通过循环,给数组中的所有元素赋值

          for(int i=0;i<nums.length-2;i++){

              nums[i+2]=nums[i]+nums[i+1];

          }

          for(int i=2;i<nums.length;i++){

              nums[i]=nums[i-2]+nums[i-1];

          }

步骤4:输出nums[19]的值

posted @ 2017-05-17 12:02  起名字真鸡儿难  阅读(170)  评论(0编辑  收藏  举报