java--排序(接口的應(yīng)用)

要求,定義一個接口類,然后對一個貓類中的分數(shù)進行排序,然后輸入排序后每只貓的年齡和分數(shù)

思路:

(1)有一個排序的對象->有一個接口(Sort)->里面要一個方法->還要有排序方法(冒泡排序)->接口的實現(xiàn)->排序

1.接口:

public interface Sort {
    //需要做什么,功能,功能需要做什么
    //聲明一個int類型的排序方法,需要兩個Object 名字分別為obj,obj1的的一位數(shù)組
    public int sort(Object obj,Object obj1);
}
//定義一個類(實現(xiàn)功能)
class Test{
    //定義一個Sort的s(便于接口的調(diào)用)
    public Sort s;
    
    //構(gòu)造方法,傳入 Sort型的變量
    public Test (Sort s){
        this.s = s;
    }
    //定義排序的方法
    public Object[] paixu(Object[] obj){
        //冒泡排序
        for (int i = 0; i < obj.length-1; i++) {
            for (int j = 0; j < obj.length-1-i; j++) {
                //判斷大小
                int result = s.sort(obj[j], obj[j+1]);
                if (result>0) {
                    //定義空數(shù)組用于交換
                    Object temp=obj[j];
                    obj[j] = obj[j+1];
                    obj[j+1] = temp;
                }
            }
        }
        //obj是一個一維數(shù)組
        return obj;
    }
}

2測試類

import java.util.Arrays;

public class User {
    public static void main(String[] args) {
        //創(chuàng)建cat的對象
        Cat cat = new Cat();
        cat.age = 12;
        cat.score = 13;
    
        Cat cat1 = new Cat();
        cat1.age = 10;
        cat1.score = 14;
        
        Cat cat2 = new Cat();
        cat2.age = 6;
        cat2.score = 12;
        
        Cat cat3 = new Cat();
        cat3.age = 19;
        cat3.score = 3;
        
        //創(chuàng)建一個數(shù)組用來存儲
        Cat arr[] = {cat,cat1,cat2,cat3};
        Com cm = new Com();
        Test test = new Test(cm);//將cm傳入Test中
        //創(chuàng)建一個新數(shù)組用來接收排序過后的數(shù)組
        Object[] newArr = test.paixu(arr);//對arr進行排序
        System.out.println(Arrays.toString(newArr));
        
        
        
    }
}
//定義一個類 Cat
class Cat{
    int age;
    int score;
    
    @Override
    public String toString() {
        return "年齡= " + this.age + "分數(shù)=" + score;
    }
}

//Sort接口的實現(xiàn)類
class Com implements Sort{
    @Override
    public int sort(Object obj, Object obj1) {
        Cat c=(Cat)obj;//obj轉(zhuǎn)換為Cat
        Cat c1 = (Cat)obj1;
        if (c.score>c1.score) {
            return 1;//滿足條件執(zhí)行排序,result=1>0
        }
        return -1;
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末乔询,一起剝皮案震驚了整個濱河市位隶,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌芳绩,老刑警劉巖滞造,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡柱嫌,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門屯换,熙熙樓的掌柜王于貴愁眉苦臉地迎上來编丘,“玉大人,你說我怎么就攤上這事彤悔〖巫ィ” “怎么了?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵晕窑,是天一觀的道長抑片。 經(jīng)常有香客問我,道長杨赤,這世上最難降的妖魔是什么敞斋? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任截汪,我火速辦了婚禮,結(jié)果婚禮上植捎,老公的妹妹穿的比我還像新娘衙解。我一直安慰自己,他們只是感情好焰枢,可當我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布丢郊。 她就那樣靜靜地躺著,像睡著了一般医咨。 火紅的嫁衣襯著肌膚如雪枫匾。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天拟淮,我揣著相機與錄音干茉,去河邊找鬼。 笑死很泊,一個胖子當著我的面吹牛角虫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播委造,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼戳鹅,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了昏兆?” 一聲冷哼從身側(cè)響起枫虏,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎爬虱,沒想到半個月后隶债,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡跑筝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年死讹,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片曲梗。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡赞警,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出虏两,到底是詐尸還是另有隱情愧旦,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布碘举,位于F島的核電站忘瓦,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜耕皮,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一境蜕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧凌停,春花似錦粱年、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至赐俗,卻和暖如春拉队,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背阻逮。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工粱快, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人叔扼。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓事哭,卻偏偏與公主長得像,于是被迫代替她去往敵國和親瓜富。 傳聞我的和親對象是個殘疾皇子鳍咱,可洞房花燭夜當晚...
    茶點故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法与柑,內(nèi)部類的語法谤辜,繼承相關(guān)的語法,異常的語法仅胞,線程的語...
    子非魚_t_閱讀 31,598評論 18 399
  • 轉(zhuǎn)自:http://blog.csdn.net/jackfrued/article/details/4492194...
    王帥199207閱讀 8,504評論 3 93
  • 1.import static是Java 5增加的功能,就是將Import類中的靜態(tài)方法每辟,可以作為本類的靜態(tài)方法來...
    XLsn0w閱讀 1,217評論 0 2
  • 面向?qū)ο笾饕槍γ嫦蜻^程。 面向過程的基本單元是函數(shù)干旧。 什么是對象:EVERYTHING IS OBJECT(萬物...
    sinpi閱讀 1,046評論 0 4
  • 過年期間,極少有人能夠抵住誘惑妹蔽,控制飲食椎眯,不經(jīng)意間就會胖個三、五斤胳岂。如果是胖在身上也沒什么關(guān)系编整,看不出來。要是像我...
    張春華閱讀 195評論 0 0