zoukankan      html  css  js  c++  java
  • 面向对象的方法重写数组功能

    用面向对象的方法把可以对数组实现的功能写在对应的方法里,以待什么时候需要就调用此方法来实现对应的功能。

    方法类:ArrayUtil

     1 package com.sanguosha.exer;
     2 //一个数组的工具类
     3 public class ArrayUtil {//设置好需要调用的方法
     4         //设置求数组的最大值的方法
     5         public int getMax(int[] arr){//传进来一个数组参数,针对这个数组
     6             int max=arr[0];
     7             for(int i=0;i<arr.length;i++){
     8                 if(max<arr[i]){
     9                     max=arr[i];
    10                 }
    11             }
    12             return max;
    13         }
    14         //设置求数组的最小值的方法
    15         public int getMin(int[] arr){//传参
    16             int min=arr[0];
    17             for(int i=0;i<arr.length;i++){
    18                 if(min>arr[i]){
    19                     min=arr[i];
    20                 }
    21             }
    22             return min;
    23         }
    24         //设置求数组的总和的方法
    25         public int getSum(int[] arr){
    26             int sum=0;
    27             for(int i=0;i<arr.length;i++){
    28                 sum+=arr[i];
    29             }
    30             return sum;
    31         }
    32         //求数组的平均值
    33         public double getAgv(int[] arr){
    34             int sum=0;
    35             double agv=0;//局部变量必须初始化********注意
    36             for(int i=0;i<arr.length;i++){
    37                 sum+=arr[i];
    38                 agv=sum/arr.length;
    39             }
    40             return agv;
    41         }
    42         //遍历数组元素
    43         public void showArr(int[] arr){
    44             for(int i=0;i<arr.length;i++){
    45                 System.out.print(arr[i]+"  ");
    46             }
    47         }
    48         //数组的复制
    49         public int[] arrCopy(int[] arr){//设置返回值类型为一个数组
    50             int[] fuzhi=new int[arr.length];
    51             for(int i=0;i<arr.length;i++){
    52                 fuzhi[i]=arr[i];
    53                 //System.out.print(fuzhi[i]+"  ");
    54             }
    55             for(int i=0;i<fuzhi.length;i++){
    56                 System.out.print(fuzhi[i]+"  ");//复制后遍历
    57             }
    58             return fuzhi;//返回一个数组
    59         }
    60         //数组的反转
    61         public int[] fanZhuan(int[] arr){
    62             for(int i=0;i<arr.length/2;i++){
    63                 //int temp=0;
    64                 //temp=arr[i];
    65                 //arr[i]=arr[arr.length-1-i];
    66                 //arr[arr.length-1-i]=temp;
    //可以直接调用交换方法来实现交换了
    jiaoHuan(arr,i,arr.length-1-i);
    67 } 68 return arr; 69 } 70 //数组的排序 71 public void sort(int[] arr){//实现排序 72 for(int i=0;i<arr.length-1;i++){//冒泡排序走arr.length-1趟 73 for(int j=0;j<arr.length-1-i;j++){//每趟比较的次数 74 //从头比较相邻的两个数,若前边的大,则交换 75 if(arr[j]>arr[j+1]){ 76 //int temp=0; 77 //temp=arr[j]; 78 //arr[j]=arr[j+1]; 79 //arr[j+1]=temp;
    //这时候就不用写这个交换代码了,直接调用交换方法
    jiaoHuan(arr,j,j+1);
    80 } 81 } 82 } 83 }
    //设置一个交换方法jiaoHuan()用以调用。
    public void jiaoHuan(int[] arr,int i,int j){//注意************此处参数的写法,交换一个数组中的两个位置的元素***********
    int temp=arr[i];
    arr[i]=arr[j];
    arr[j]=temp;
    }
    84 }

    需要对数组进行操作时,调用以上方法

    定义一个类TestArray:

     1 package com.sanguosha.exer;
     2 
     3 public class TestArray {
     4     public static void main(String[] args) {
     5         int[] arr=new int[]{12,23,-45,3,47,-86,3,100,1,2};//声明一个数组arr
     6         ArrayUtil AU=new ArrayUtil();//用ArrayUtil类实例化一个对象
     7         
     8         int zuidazhi=AU.getMax(arr);//调用写好的求最大值的getMax()方法
     9         System.out.println("arr数组的最大值是:"+zuidazhi);//打印最大值
    10         
    11         int zuixiaozhi=AU.getMin(arr);//调用getMin()方法
    12         System.out.println("arr数组的最小值是:"+zuixiaozhi);
    13         
    14         int zonghe=AU.getSum(arr);//调用getSum()方法
    15         System.out.println("arr数组的总和是:"+zonghe);
    16         
    17         double pingjun=AU.getAgv(arr);//调用getAgv()
    18         System.out.println("arr数组的的平均值是:"+pingjun);
    19         
    20         System.out.println("遍历arr数组:");
    21         AU.showArr(arr);//遍历,调用showArr()
    22         
    23         System.out.println("
    复制出的数组是:");
    24         AU.arrCopy(arr);//调用复制方法
    25         
    26         System.out.println("
    数组反转后:");
    27         AU.fanZhuan(arr);//实现数组的反转
    28         AU.showArr(arr);//反转后再次打印arr数组
    29         
    30         System.out.println("
    排序后的数组:");
    31         AU.sort(arr);//调用排序方法sort()
    32         AU.showArr(arr);//排序后调用遍历方法遍历
    33     }
    34 }

    运行结果:

  • 相关阅读:
    Magento速度优化
    magento-connect-manage出现404或者500内部错误的解决办法
    magento -- 给后台分类管理页的分类商品加一栏商品类型
    magento -- 添加新产品时状态默认为激活,库存状态默认为有库存
    magento -- 如何为商品分类(category)添加自定义属性
    magento -- 如何改善前台图片质量
    安装Let's Encrypt SSL证书
    centos版本查看
    ps
    设置桥接虚拟网卡
  • 原文地址:https://www.cnblogs.com/yunqing/p/4768045.html
Copyright © 2011-2022 走看看