最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java在數(shù)組中存放多個(gè)對(duì)象實(shí)現(xiàn)方式

 更新時(shí)間:2026年03月17日 09:46:54   作者:糊涂涂是個(gè)小盆友  
文章介紹了如何通過(guò)數(shù)組存儲(chǔ)多個(gè)對(duì)象,以計(jì)算三部手機(jī)的平均價(jià)格為例,展示了如何創(chuàng)建類(lèi)、定義屬性、編寫(xiě)方法以及如何進(jìn)行數(shù)組擴(kuò)容

在前面的學(xué)習(xí)中數(shù)組存放的都是基本數(shù)據(jù)類(lèi)型,但是這并不代表著數(shù)組只能存放基本數(shù)據(jù)類(lèi)型,數(shù)組中也可以存放對(duì)象。

下面用案例來(lái)具體說(shuō)下怎么通過(guò)數(shù)組存放多個(gè)對(duì)象。

一、題目

  • 定義數(shù)組存儲(chǔ)3部手機(jī)對(duì)象
  • 手機(jī)的屬性:品牌,價(jià)格,顏色。
  • 要求:計(jì)算出三部手機(jī)的平均價(jià)格

二、分析

①、抽取一個(gè)有關(guān)手機(jī)的類(lèi) test8_AP

②、寫(xiě)入屬性,并通過(guò)帶參的構(gòu)造方法給屬性賦值

③、在類(lèi)中創(chuàng)建一個(gè)方法用來(lái)求三部手機(jī)價(jià)格的平均值 avg

④、avg方法中需要傳入一個(gè)數(shù)組arr[],遍歷該數(shù)組拿到數(shù)組對(duì)象中的價(jià)格price,然后對(duì)其求平均值并返回。

⑤、新建測(cè)試類(lèi)test8,類(lèi)中創(chuàng)建三個(gè)對(duì)象(帶相應(yīng)的參數(shù))

⑥、創(chuàng)建一個(gè)存放對(duì)象的數(shù)組a[],類(lèi)型跟對(duì)象的類(lèi)型一致test8_AP 。

⑦、將新創(chuàng)建的三個(gè)對(duì)象放入數(shù)組a中。

⑧、通過(guò)創(chuàng)建的任一對(duì)象調(diào)用第③步編寫(xiě)的求手機(jī)平均值的方法,接收返回值,最后答應(yīng)在終端

三、代碼

3.1、test8_AP 代碼

public class test8_AP {
    
//    todo  將對(duì)象裝入數(shù)組中
    
    String brand;
    int price;

    public test8_AP(String brand, int price) {
        this.brand = brand;
        this.price = price;
    }

    //    todo 求三部手機(jī)價(jià)格的平均值
    public double avg(test8_AP arr[]){
        int sum = 0;
        double avg =0;
        
        for (int i=0;i<arr.length;i++){
            sum += arr[i].price;
        }
        avg = sum/arr.length;
        return avg;
    }
}

3.2、test8 代碼

public class test8 {

    public static void main(String[] args) {
        test8_AP phone1 = new test8_AP("小米", 3000);
        test8_AP phone2 = new test8_AP("小米", 4000);
        test8_AP phone3 = new test8_AP("小米", 5000);

        test8_AP a[] = {phone1,phone2,phone3};

        double avg = phone1.avg(a);

        System.out.println(avg);

    }
}

四、補(bǔ)充知識(shí):數(shù)組擴(kuò)容

4.1、為什么要擴(kuò)容

在編寫(xiě)代碼初期定義了一個(gè)長(zhǎng)度固定的靜態(tài)數(shù)組(內(nèi)部數(shù)據(jù)都已給定),但是題目要求能夠再往數(shù)組中添加多個(gè)內(nèi)容,這時(shí)就需要使用數(shù)組擴(kuò)容,使用數(shù)組擴(kuò)容后就能夠正常往數(shù)組中添加新的內(nèi)容了。

4.2、數(shù)組怎么擴(kuò)容

①、定義一個(gè)新的數(shù)組newarr,長(zhǎng)度是舊數(shù)組arr的2倍

②、通過(guò)for循環(huán)將arr中的每一項(xiàng)內(nèi)容賦值給新的數(shù)組newarr

③、通過(guò)循環(huán)往新數(shù)組中添加元素,下標(biāo)為newarr[arr.length+i],下標(biāo)為舊數(shù)組+循環(huán)數(shù) i 的原因:為了確保新加入的數(shù)據(jù)在之前數(shù)據(jù)的后邊。通過(guò)下面的代碼可以知道新加入的元素下標(biāo)是從3+0 ---> 3+1 -----> 3+2 ----->3+3 。

4.3、擴(kuò)容代碼展示

public class ArrayExtend {
    public static void main(String[] args) {
        // todo 定義一個(gè)長(zhǎng)度固定的數(shù)組
        int arr[] = {1,2,3};

        // todo 擴(kuò)容:創(chuàng)建一個(gè)新的數(shù)組,長(zhǎng)度是arr的2倍
        int newarr[] = new int[arr.length * 2];

        // todo 不能直接使用 newarr = arr 的原因:因?yàn)檫@樣直接賦值是只能將arr的內(nèi)存地址
        //  復(fù)制給newarr,達(dá)不到將其里面的內(nèi)容賦值給newarr的效果
        // todo 將舊的數(shù)組給新的數(shù)組
        for (int i = 0; i < arr.length; i++) {
            newarr[i]=arr[i];
        }


        // todo 添加  批量添加
        for (int i = 0; i < arr.length; i++) {
            newarr[arr.length+i]=i;

        }
        for (int i = 0; i < newarr.length; i++) {
            System.out.println(newarr[i]);
        }
    }
}

4.4、結(jié)果截圖

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • mac安裝配置jdk環(huán)境變量

    mac安裝配置jdk環(huán)境變量

    這篇文章主要為大家介紹了mac安裝配置jdk環(huán)境變量實(shí)現(xiàn)過(guò)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • spring task 定時(shí)任務(wù)實(shí)現(xiàn)示例

    spring task 定時(shí)任務(wù)實(shí)現(xiàn)示例

    本篇文章主要介紹了spring task 定時(shí)任務(wù)實(shí)現(xiàn)示例,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2017-01-01
  • 一文掌握Spring Cookie和Session 是什么及區(qū)別介紹

    一文掌握Spring Cookie和Session 是什么及區(qū)別介紹

    Cookie和Session都是用于在客戶(hù)端和服務(wù)器之間傳遞信息的技術(shù),但它們的工作方式和使用場(chǎng)景有所不同,Cookie是在客戶(hù)端保存用戶(hù)信息的一種機(jī)制,而Session是在服務(wù)器端保存用戶(hù)信息的一種機(jī)制,本文介紹Spring Cookie和Session 是什么,感興趣的朋友一起看看吧
    2025-01-01
  • 使用HttpClient調(diào)用接口的實(shí)例講解

    使用HttpClient調(diào)用接口的實(shí)例講解

    下面小編就為大家?guī)?lái)一篇使用HttpClient調(diào)用接口的實(shí)例講解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • SpringBoot使用TraceId實(shí)現(xiàn)日志鏈路追蹤的步驟

    SpringBoot使用TraceId實(shí)現(xiàn)日志鏈路追蹤的步驟

    本文介紹了如何實(shí)現(xiàn)服務(wù)調(diào)用的日志鏈路追蹤,包括整合logback打印traceId、配置日志文件、通過(guò)MDC傳遞追蹤ID,并重寫(xiě)線(xiàn)程池方法以保證異步和定時(shí)任務(wù)線(xiàn)程的traceId傳遞,實(shí)現(xiàn)高效日志查找和追蹤,感興趣的朋友跟隨小編一起看看吧
    2025-10-10
  • java實(shí)現(xiàn)遠(yuǎn)程桌面的實(shí)例代碼

    java實(shí)現(xiàn)遠(yuǎn)程桌面的實(shí)例代碼

    下面小編就為大家分享一篇java實(shí)現(xiàn)遠(yuǎn)程桌面的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • SpringBoot項(xiàng)目如何訪(fǎng)問(wèn)jsp頁(yè)面的示例代碼

    SpringBoot項(xiàng)目如何訪(fǎng)問(wèn)jsp頁(yè)面的示例代碼

    本篇文章主要介紹了SpringBoot項(xiàng)目如何訪(fǎng)問(wèn)jsp頁(yè)面的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • idea導(dǎo)入項(xiàng)目爆紅問(wèn)題記錄以及解決

    idea導(dǎo)入項(xiàng)目爆紅問(wèn)題記錄以及解決

    這篇文章主要介紹了idea導(dǎo)入項(xiàng)目爆紅問(wèn)題記錄以及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Java中的Comparable和Comparator接口

    Java中的Comparable和Comparator接口

    這篇文章主要介紹了Java中的Comparable和Comparator接口,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容戒殺,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • Java實(shí)現(xiàn)Excel與TXT文本的高效互轉(zhuǎn)

    Java實(shí)現(xiàn)Excel與TXT文本的高效互轉(zhuǎn)

    在日常開(kāi)發(fā)中,我們經(jīng)常需要在不同的數(shù)據(jù)存儲(chǔ)格式之間進(jìn)行轉(zhuǎn)換,本文將分享如何在 Java 中高效實(shí)現(xiàn) Excel 與 TXT 的互轉(zhuǎn),有需要的小伙伴可以了解下
    2025-09-09

最新評(píng)論

县级市| 昌都县| 深泽县| 克拉玛依市| 永年县| 大荔县| 广东省| 长宁区| 玛多县| 新安县| 三明市| 咸阳市| 凤城市| 仪征市| 德格县| 凌海市| 广饶县| 固始县| 紫金县| 贵州省| 全州县| 长葛市| 泗水县| 美姑县| 成武县| 政和县| 大石桥市| 山阴县| 武鸣县| 明溪县| 特克斯县| 桐梓县| 永年县| 安义县| 锡林浩特市| 伊春市| 武清区| 平顶山市| 乌审旗| 新郑市| 麻江县|