黑马程序员技术交流社区

标题: 求一个数组当中最大的数,返回其索引,并告知是第几个数。 [打印本页]

作者: 回头浪子心    时间: 2014-8-4 20:44
标题: 求一个数组当中最大的数,返回其索引,并告知是第几个数。
/*
        求一个数组当中最大的数,返回其索引,并告知是第几个数。
*/
class ArrayTest
{
        public static void main(String[] args)
        {
                //遍历数组的标准方法
                //int[] arr = new int[?];
                int[] arr = {12,4,34,200,6,67,3,124};
                arr = null;
                System.out.println("最大值的索引为"+getMax(arr));
        }

        public static int getMax(int[] arr){
                //定义变量max记录最大的数
                int max = arr[0];
                int maxIndex = 0;
                for (int i=0; i<arr.length; i++)
                {
                        if(max<arr[i]){
                                max = arr[i];
                                maxIndex = i;
                        }
                }
                System.out.println("最大的值是第"+(maxIndex+1)+"个数");
                return maxIndex;
        }
}

作者: supertoy    时间: 2014-8-4 20:54
public static void main(String[] args) {
       
                int[] arr = new int[]{1,2,3,4,5,111,333,2,77,6,-1};
                int index = getMax(arr);
                System.out.println(MessageFormat.format("最大值:{0},索引:{1}",arr[index],index));
        }
       
       
        public static int getMax(int[] arr){
                int k = arr[0];
                int index = 0;
                for (int i = 1; i < arr.length; i++) {
                        if(k<arr[i]){
                                k = arr[i];
                                index = i;
                        }
                }
                return index;
        }
作者: supertoy    时间: 2014-8-4 20:56
索引不就是第几个数吗?
作者: es2379649    时间: 2014-8-4 22:14
supertoy 发表于 2014-8-4 20:56
索引不就是第几个数吗?

索引是从零开始的吧,第几个数是从一开始的吧。
作者: supertoy    时间: 2014-8-5 09:31
es2379649 发表于 2014-8-4 22:14
索引是从零开始的吧,第几个数是从一开始的吧。

是的,有道理
作者: 渴望学习    时间: 2014-8-5 11:41
int[] arr = { 12, 13, 14, 15, 16 };
                int max = 0;
                for (int i = 0; i < arr.length; i++) {
                        if (arr[max] < arr[i]) {
                                max = i;
                        }
                }
                System.out.println("数组的最大值是:" + arr[max] + " 索引是:" + max + " 是第"
                                + (max + 1) + "个数");
作者: 裤裆里的温柔、    时间: 2014-8-5 13:27
int[] arr = {12,4,34,200,6,67,3,124};
Arrays.sort(arr);
sysoutem.out.println(Arrays.binarySearch(arr,arr[arr.length-1]));




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