A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 大牛1 中级黑马   /  2016-5-29 20:00  /  312 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 大牛1 于 2016-5-29 20:04 编辑

数组元素查找
  1. /*
  2.         需求:数组元素查找(查找指定元素第一次在数组中出现的索引)
  3.        
  4.         分析:
  5.                 A:定义一个数组,并静态初始化。
  6.                 B:写一个功能实现
  7.                         遍历数组,依次获取数组中的每一个元素,和已知的数据进行比较
  8.                         如果相等,就返回当前的索引值。
  9. */
  10. class ArrayTest5 {
  11.         public static void main(String[] args) {
  12.                 //定义一个数组,并静态初始化
  13.                 int[] arr = {200,250,38,888,444};
  14.                
  15.                 //需求:我要查找250在这个数组中第一次出现的索引
  16.                 int index = getIndex(arr,250);
  17.                 System.out.println("250在数组中第一次出现的索引是:"+index);
  18.                
  19.                 int index2 = getIndex2(arr,250);
  20.                 System.out.println("250在数组中第一次出现的索引是:"+index2);
  21.                
  22.                 int index3 = getIndex2(arr,2500);
  23.                 System.out.println("2500在数组中第一次出现的索引是:"+index3);
  24.         }
  25.        
  26.         /*
  27.                 需求:查找指定数据在数组中第一次出现的索引
  28.                 两个明确:
  29.                         返回值类型:int
  30.                         参数列表:int[] arr,int value
  31.         */
  32.         public static int getIndex(int[] arr,int value) {
  33.                 //遍历数组,依次获取数组中的每一个元素,和已知的数据进行比较
  34.                 for(int x=0; x<arr.length; x++) {
  35.                         if(arr[x] == value) {
  36.                                 //如果相等,就返回当前的索引值。
  37.                                 return x;
  38.                         }
  39.                 }
  40.                
  41.                 //目前的代码有一个小问题
  42.                 //就是假如我要查找的数据在数组中不存在,那就找不到,找不到,你就对应的返回吗?
  43.                 //所以报错。
  44.                
  45.                 //只要是判断,就可能是false,所以大家要细心。
  46.                
  47.                
  48.                 //如果找不到数据,我们一般返回一个负数即可,而且是返回-1
  49.                 return -1;
  50.         }
  51.        
  52.         public static int getIndex2(int[] arr,int value) {
  53.                 //定义一个索引
  54.                 int index = -1;
  55.                
  56.                 //有就修改索引值
  57.                 for(int x=0; x<arr.length; x++) {
  58.                         if(arr[x] == value) {
  59.                                 index = x;
  60.                                 break;
  61.                         }
  62.                 }
  63.                
  64.                 //返回index
  65.                 return index;
  66.         }
  67. }
复制代码



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马