zoukankan      html  css  js  c++  java
  • java===数组工具类创建,并使用eclipse导出说明文档.html

    package cn.china;
    
    //import java.util.Arrays;
    //import java.util.Scanner;
    
    /**
     * 数组工具类,并且类内部方法都为静态方法,不提供初始化对象调用!!!
     * 包含数组排序、最值、查找等方法
     * @author 王大侠
     * @version V1.0*/
    public class ArrayTool {
        private ArrayTool() {
            
        }
        /**
         * 数组选择排序
         * @param arr 传入一个数组用于验证程序*/
        public static void arraysort(int[]arr){
            for(int x=0;x<arr.length-1;x++){
                for(int y=x+1;y<arr.length;y++){
                    exchange(arr, x, y);
                }
            }
        }
        private static void exchange(int[]arr,int x,int y){
            if(arr[x]>arr[y]){
                int temp=arr[x];
                 arr[x]=arr[y];
                 arr[y]=temp;
                 }
        }
        /**
         * 冒泡数组排序
         * @param arr 传入一个数组用于验证程序
         * 传入数组验证程序*/
        public static void arraysort2(int []arr){
            for(int x=0;x<arr.length-1;x++){
                for(int y=0;y<arr.length-1-x;y++){
                    exchange(arr, y, y+1);
                }
            }
        }
        /**
         * 数组最大值提取
         * @param arr 传入一个数组用于验证程序
         * @return max 返回最大值*/
        public static int arraymax(int[]arr){
            int max=arr[0];
            for(int x=0;x<arr.length;x++){
                if(max<arr[x]){
                    max=arr[x];
                }
            }
            return max; 
        }
        /**
        数组最小值提取
        @param arr 传入一个数组用于验证程序
        @return 返回最小值*/
        public static int arraymin(int[]arr){
            int min=arr[0];
            for(int x=0;x<arr.length;x++){
                if(min<arr[x]){
                    min=arr[x];
                }
            }
            return min; 
        }
        /**
         * 查找数组元素
         * @param arr 传入一个数组用于验证程序
         * @param key 传入一个要查找的数据
         * @return x       返回被查找数据在数组中角标
         * @return -1                  未找到数据返回-1*/  
        public static int arraysearch(int[]arr,int key){
            for(int x=0;x<arr.length;x++){
                if(arr[x]==key){
                    System.out.println("查找数据在数组中角标为:");
                    return x;
                }
            }
            System.out.println("未在数组中找到相关元素");
            return -1;
        }
    //    public void ArraysDelete (){  
    //        Scanner sc =new Scanner(System.in);
    //        int[] arr = new int[]{1,2,4,5,9,8,0};
    //        System.out.println(Arrays.toString(arr));
    //        System.out.println("请输入要删除第几个元素:");
    //        int n = sc.nextInt(); sc.close();
    //        arr[n-1] = arr[arr.length-1];
    //        arr = Arrays.copyOf(arr, arr.length-1);
    //        System.out.println(Arrays.toString(arr));
    //
    //        } 
        /**
         * 数组倒置
         * @param arr 传入一个数组用于验证程序*/
        public static void invertArray(int[]arr){
            int head=0;
            int tail=arr.length-1;
            int mid=arr.length>>1;
            for(int x=0;x<mid;x++){
                int temp=arr[head];
                arr[head]=arr[tail];
                arr[tail]=temp;
                head++;
                tail--;
            }
        }
        /**
         * 打印数组
         * @param arr 传入一个数组用于验证程序*/
        public static void printarr(int[]arr){
            System.out.print("[");
            for(int x=0;x<arr.length;x++){
                if(x==arr.length-1){
                System.out.print(arr[x]+"]");
                }else{
                    System.out.print(arr[x]+",");
                }
            }
        }
        /**
         * 打印二维数组,并计算二维数组内的数据之和
         * @param arr 传入一个数组用于验证程序
         * @return sum 返回二维数组元素之和*/
        public static int addarray(int[][]arr){
            int sum=0;
            for(int x=0;x<arr.length;x++){
                for(int y=0;y<arr[x].length;y++){
                    //System.out.print(arr[x][y]+",");
                    sum+=arr[x][y];
                    
                }
            }
            return sum;
        }
        /**
         * 二分查找
         * 前提传入数组必须是有序的
         * @param arr 传入一个有序数组用于验证程序
         * @param key 传入要搜索数据
         * @return mid    返回搜索数据在数组中的角标
         * @return    在数组中未发现要搜索数据,返回此数据在本数组中插入位置的取反值*/ 
        public static int binarysearch(int[]arr,int key){
              int min=0;
              int max=arr.length-1;
              int mid;
                while(min<=max){
                    mid=(min+max)>>1;
                    if(arr[mid]<key)
                    {
                        min=mid+1;
                    }else if(arr[mid]>key){
                        max=mid-1;
                    }else{
                        return mid;
                    }
                }
                return ~min;
        }
    
    }
    package cn.china;
    
    public class TestDriver {
    
        public static void main(String[] args) {
            //int[]arr={1,2,5,6,34,87,505};
            int[][]arr={{11,2,5},{62,34},{871,50}};
            //int max=ArrayTool.arraymax(arr);
            
            int a=ArrayTool.addarray(arr);
            System.out.println(a);
            //ArrayTool.printarr(arr);
        }
    
    }

    Export==java==javadoc==next==添加javadoc路径==finish 文档格式没出错就可以创建成功了!!!

  • 相关阅读:
    .Net在arraylist用法
    ORM查询方法
    正则表达式大全
    checkbox修改功能保存功能绑定
    Web ASP.Net运行机制
    面试题
    Sql Server 中锁的概念
    由nginx和spring boot中tomcat配置不当引起的问题
    记录一次由事务可重复读引起的问题
    Ubuntu18.04没有声音的解决
  • 原文地址:https://www.cnblogs.com/wangyinxu/p/6512844.html
Copyright © 2011-2022 走看看