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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 信仰年轻 中级黑马   /  2015-9-14 20:22  /  390 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/**
这是一个可以对数组进行操作的工具,该类中提供了,获取最值,排序等功能。
@author 侯亚东
@version V1.0

*/
class ArrayTool
{
        /**
         空参数构造函数
         */
        private ArrayTool(){};//构造函数私有化,不允许建立对象,因为建立对象没意义,静态后可以直接调用
        /**
         获取一个整形数组中的最大值
         @param arr 接受一个int类型的数组
         @return 会返回一个该数组中的最大值       
         */
        public static int getMax(int []arr)//最大值函数
        {
                int max=0;
                for(int x=0;x<arr.length;x++)
                {
                        if(arr[x]>arr[max])
                                max=x;
                }
                return max;
        }
        /**
         获取一个整形数组中的最小值
         @param arr 接受一个int类型的数组
         @return 会返回一个该数组中的最小值       
         */
        public static int getMin(int []arr)//最小值函数
        {
                int min=0;
                for(int x=0;x<arr.length;x++)
                {
                        if(arr[x]<arr[min])
                                min=x;
                }
                return min;
        }
        /**
         给int数组进行选择排序
         @param arr 接受一个int类型的数组               
         */
        public static void xuanZe(int[]arr)//选择排序方法
        {
                for(int x=0;x<arr.length;x++)
                {
                        for(int y=x+1;y<arr.length;y++)
                        {
                                if(arr[x]>arr[y])
                                {
                                        swap(arr,x,y);
                                }                               
                        }
                }
        }
        /**
         给int数组进行冒泡排序
         @param arr 接受一个int类型的数组               
         */
        public static void maoPao(int []arr)//冒泡排序方法
        {
                for(int x=0;x<arr.length;x++)
                {
                        for(int y=0;y<arr.length-x-1;y++)
                        {
                                if(arr[y]>arr[y+1])
                                {
                                        swap(arr,y,y+1);
                                }
                        }
                }
        }
        /**
         给数组的元素进行位置互换
         @param arr 接受一个int类型的数组       
         @param a 要置换的位置       
         @param b 要置换的位置
         */
        private static void swap(int[]arr,int a,int b)//互换位置,为上面两张排序服务
        {
                int temp=arr[a];
                arr[a]=arr[b];
                arr[b]=temp;
        }
        /**
         用于打印数组中的元素。打印形式:element1,element2,......
         @param arr 接受一个int类型的数组               
       
         */
        public static void shuChu(int []arr)//用于选择排序和冒泡排序的输出
        {
                for(int x=0;x<arr.length;x++)
                {
                        if(x!=arr.length-1)
                                System.out.print(arr[x]+",");
                        else
                                System.out.println(arr[x]);
                }
        }
}
public class 静态的应用
{
        public static void main(String[] args)
        {
                int[] arr={3,1,5,87,54,64};
                //ArrayTool tool=new ArrayTool();
                //int max=tool.getMax(arr);
                //System.out.println("max="+arr[max]);
                //int min=tool.getMin(arr);
                //System.out.println("min="+arr[min]);
                //tool.xuanZe(arr);
                //tool.shuChu(arr);
                int max=ArrayTool.getMax(arr);//获取最大值
                System.out.println("max="+arr[max]);//打印最大值
                int min=ArrayTool.getMin(arr);//获取最小值
                System.out.println("min="+arr[min]);//打印最小值
                ArrayTool.shuChu(arr);//排序前
                ArrayTool.xuanZe(arr);//选择排序
                ArrayTool.shuChu(arr);//输出选择排序后的结果
        }
}

3 个回复

倒序浏览
         学习
回复 使用道具 举报
貌似要执行javadoc的命令吧?
回复 使用道具 举报
这几天刚在毕老师的视频上看到这个,谢谢了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马