首页 > 代码库 > 重载,重写及数组练习
重载,重写及数组练习
package shipin; public class TextArray { public static void main(String[] args) { int arr[]=new int[]{12,4,76,8,0,-46,92,-56,100}; Array a=new Array(); int max=a.getMax(arr); System.out.println("数组最大值是:"+max); int min=a.getMin(arr); System.out.println("数组最小值是:"+min); int sum=a.getSum(arr); System.out.println("数组总和是:"+sum); int avg=a.avg(arr); System.out.println("数组平均数是:"+avg); a.printArray(arr); System.out.println("排序数组:"); a.paiXu(arr,"desc"); a.printArray(arr); System.out.println("反转数组:"); a.fanzhuan(arr); a.printArray(arr); System.out.println("复制数组:"); a.copy(arr); a.printArray(arr); } }
package shipin; public class Array { //数组的最大值 public int getMax(int arr[]){ int max=arr[0]; for(int i=1;i<arr.length;i++){ if(max<arr[i]){ max=arr[i]; } } return max; } //数组的最小值 public int getMin(int arr[]){ int min=arr[0]; for(int i=1;i<arr.length;i++){ if(min>arr[i]){ min=arr[i]; } } return min; } //数组的总和 public int getSum(int arr[]){ int sum=0; for(int i=0;i<arr.length;i++){ sum+=arr[i]; } return sum; } //数组的平均值 public int avg(int arr[]){ int sum=getSum(arr);//在方法中调用方法 return sum/arr.length; } //数组的遍历 public void printArray(int arr[]){ System.out.println("["); for(int i=0;i<arr.length;i++){ System.out.println(arr[i]+"/t"); } System.out.println("]"); } //数组的排序 public void paiXu(int arr[],String desc){ if(desc=="asc"){ for(int i=0;i<arr.length-1;i++){ for(int j=0;j<arr.length-i-1;j++){ if(arr[j]>arr[j+1]){ int temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } }else if(desc=="desc"){ for(int i=0;i<arr.length-1;i++){ for(int j=0;j<arr.length-i-1;j++){ if(arr[j]<arr[j+1]){ int temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } }else{ System.out.println("您输入的有误"); } } //数组的反转 public int[] fanzhuan(int arr[]){ for(int x=0,y=arr.length-1;x<y;x++,y--){ int temp=arr[x]; arr[x]=arr[y]; arr[y]=temp; } return arr; } //数组的复制 public int[] copy(int arr[]){ int arr1[]=new int[arr.length]; for(int i=0;i<arr.length;i++){ arr1[i]=arr[i]; } return arr1; } }
分析:问题:等号两边的顺序不能改变
比如
arr1[i]=arr[i];都不能顺序互换
方法的重载:overload
要求:1、同一个类中
2、方法名必须相同
3、方法的参数列表不同:参数的个数不同,参数的类型不同(参数名不同也不能构成重载)
补充:方法的重载和方法的返回值没有联系
eg:public int Sum(int a,double b){ return Sum; } public int Sum(int s,doubled){//不能构成重载 ,方法名相同,参数列表相同 return Sum; } public int Sum(double s,int d){//可以构成重载,参数列表不同 return Sum; }
重写:在继承关系中
instanceof判断前面这个是不是后面那个的子类或者是不是一个类型
package shipin; public class TextCirle { public static void main(String[] args) { Circle c1=new Circle(); c1.radius=2.3; double area= c1.fingArea() ; c1.setRadius(4.5); System.out.println(c1.fingArea()); } } class Circle{ public double radius=1.0; public double fingArea(){ return radius*3.14*radius; } public void setRadius(double r){ radius=r; } public double getRadius(){ return radius; } }
重载,重写及数组练习
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。