1. 程式人生 > >重載,重寫及數組練習

重載,重寫及數組練習

一個 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(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;
        
    }
    
    
    }

技術分享

重載,重寫及數組練習