黑马程序员技术交流社区

标题: 又来求助了,半个小时没有想出来,大神在哪里?请详细些~ [打印本页]

作者: 烟雨江南12    时间: 2016-7-28 00:10
标题: 又来求助了,半个小时没有想出来,大神在哪里?请详细些~
2.分析以下需求,并用代码实现:
        (1)定义一个int类型的一维数组,内容为{6,2,9,15,1,5,20,7,18}
        (2)将数组最大元素与最后一位元素进行交换,最小元素与第一位元素进行交换,并打印数组
        提示思路:先查找最大值和最小值出现的索引。
作者: itismyhao    时间: 2016-7-28 01:07
提示思路
声明一个变量用来记录最大元素的角标
用数组排序,冒泡排序选择排序都行,获得最大元素角标
然后交换这两个角标
最小元素同上
作者: showJiang    时间: 2016-7-28 01:54
int[] arr = {6,2,9,15,1,5,20,7,18};
                int indexOfMax = 0;
                for (int i = 0; i < arr.length; i++) {
                        if (arr[indexOfMax] < arr[i]) {
                                indexOfMax = i;
                        }
                }
                System.out.println(indexOfMax);
作者: 13411939415    时间: 2016-7-28 07:39
public static void main(String[] args) {
        int[] a = {6,2,9,15,1,5,20,7,18};
        int index_max = 0;
        int index_min = 0;
               
        System.out.println("交换前:");
        for(int i = 0; i < a.length; i++ ) {
                System.out.print(a[i] + "  ");
        }
        System.out.println();
               
        for(int i = 1; i < a.length; i++ ) {
                if(a[index_max] < a[i]) {
                        index_max = i;
                }else if(a[index_min] > a[i]) {
                        index_min = i;
                }
        }
        int t = a[index_min];
        a[index_min] = a[0];
        a[0] = t;
               
        t = a[index_max];
        a[index_max] = a[a.length - 1];
        a[a.length -1] = t;
               
        System.out.println("交换后:");
        for(int i = 0; i < a.length; i++ ) {
                System.out.print(a[i] + "  ");
        }
}

这样就可以了
作者: belowfox    时间: 2016-7-28 09:23

int[] arr = {6,2,9,15,1,5,20,7,18};
                int indexOfMax = 0;
                for (int i = 0; i < arr.length; i++) {
                        if (arr[indexOfMax] < arr[i]) {
                                indexOfMax = i;
                        }
                }
                System.out.println(indexOfMax);
作者: 烟雨江南12    时间: 2016-7-28 23:50
itismyhao 发表于 2016-7-28 01:07
提示思路
声明一个变量用来记录最大元素的角标
用数组排序,冒泡排序选择排序都行,获得最大元素角标

冒泡排序没学过啊~但是谢谢你的思路
作者: lbx95272006    时间: 2016-7-29 18:49
烟雨江南12 发表于 2016-7-28 23:50
冒泡排序没学过啊~但是谢谢你的思路

这里没有用到排序啊




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