重載,重寫及數組練習
阿新 • • 發佈:2017-07-20
一個 println 方法的參數 排序數組 double col ceo 也不能 color
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(intarr[]){ 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; } }
重載,重寫及數組練習