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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

/*
        求一个数组当中最大的数,返回其索引,并告知是第几个数。
*/
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;
        }
}

6 个回复

倒序浏览
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
索引是从零开始的吧,第几个数是从一开始的吧。

是的,有道理
回复 使用道具 举报
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) + "个数");
回复 使用道具 举报
int[] arr = {12,4,34,200,6,67,3,124};
Arrays.sort(arr);
sysoutem.out.println(Arrays.binarySearch(arr,arr[arr.length-1]));
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马