码迷,mamicode.com
首页 > 编程语言 > 详细

面向对象的方法重写数组功能

时间:2015-08-28 23:08:43      阅读:617      评论:0      收藏:0      [点我收藏+]

标签:

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

方法类: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;
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;
80                     }
81                 }
82             }
83         }
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("\n复制出的数组是:");
24         AU.arrCopy(arr);//调用复制方法
25         
26         System.out.println("\n数组反转后:");
27         AU.fanZhuan(arr);//实现数组的反转
28         AU.showArr(arr);//反转后再次打印arr数组
29         
30         System.out.println("\n排序后的数组:");
31         AU.sort(arr);//调用排序方法sort()
32         AU.showArr(arr);//排序后调用遍历方法遍历
33     }
34 }

运行结果:

技术分享

面向对象的方法重写数组功能

标签:

原文地址:http://www.cnblogs.com/yunqing/p/4768045.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!