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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© axiaowenjin 中级黑马   /  2016-7-4 23:46  /  414 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

2.分析以下需求,并用代码实现:
        (1)定义一个int类型的一维数组,内容为{6,2,9,15,1,5,20,7,18}
        (2)将数组最大元素与最后一位元素进行交换,最小元素与第一位元素进行交换,并打印数组
        提示思路:先查找最大值和最小值出现的索引。

class day52 {
                public static void main(String[] args) {
                int arr[]={6,2,9,15,1,5,20,7,18};
                xiaoh(arr);
                dah(arr);
                for (int i=0;i<arr.length ; i++) {
                        System.out.print(arr[i]+"  ");
                }
               
        }
        //只是求数组中的最小元素及其索引 然后将最小元素与第一个元素交换位置
        //故没有返回值,返回值类型为void;参数列表为 int []arr
        public static void xiaoh(int []arr){
        int min=arr[0];
                int a=0;
                for (int i=1;i<arr.length ;i++ ) {
                           min=(min<arr[i])?min:arr[i];                //求最小元素的值
                         }
                        //System.out.println(min);
                for (int i=0;i<arr.length ;i++ ){                //求最小元素的索引
                  while (min==arr[i]) {
                          a=i;
                          break;
                  }
                }
                //System.out.println(a);
                int temp=arr[a];                                                //将值最小的元素与打一个元素互换位置
                arr[a]=arr[0];
                arr[0]=temp;
                /*for (int i=0;i<arr.length ;i++ ){
                        //System.out.print(arr[i]+"  ");        //打印输出,检验是否正确
                }*/
        }
        //只是求数组中的最大元素及其索引 然后将最大元素与最后一个元素交换位置
        //故没有返回值,返回值类型为void;参数列表为 int []arr
        public static void dah(int []arr){
        int max=arr[0];
                int a=0;
                for (int i=1;i<arr.length ;i++ ) {
                           max=(max>arr[i])?max:arr[i];                //求最大的元素
                         }
                        //System.out.println(max);
                for (int i=0;i<arr.length ;i++ ){                //求最大元素的索引
                  while (max==arr[i]) {
                          a=i;
                          break;
                  }
                }
                //System.out.println(a);
                int temp=arr[a];                                                //将最大元素与最后一个元素的位置互换
                arr[a]=arr[arr.length-1];
                arr[arr.length-1]=temp;
                /*for (int i=0;i<arr.length ;i++ ){
                        //\System.out.print(arr[i]+"  ");        //打印输出,检验是否正确
                }*/
        }
}

1 个回复

倒序浏览
谢谢分享!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马