第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何使用二維數(shù)組調(diào)用函數(shù)

如何使用二維數(shù)組調(diào)用函數(shù)

米琪卡哇伊 2023-04-26 14:28:03
我正在嘗試創(chuàng)建一個(gè)二維數(shù)組,然后找到數(shù)組內(nèi)所有元素的平均值 float[][] dArr = {                      {1.0f,2.0f},                      {2.0f,2.0f}                    };    System.out.println(average(dArr[2][2]));    }    static double average (float dArr[][]){        double sum=0;        for(int i=0;i<dArr.length;i++)            for(int j=0;i<dArr[i].length;j++)             sum=+dArr[i][j];        return sum/dArr.length;    }但是一個(gè)錯(cuò)誤說(shuō)有不兼容的類型:float cannot be converted to float[][]
查看完整描述

3 回答

?
暮色呼如

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個(gè)贊

調(diào)用時(shí)并沒有真正將二維數(shù)組傳遞給函數(shù)
System.out.println(average(dArr[2][2]));

相反,您只傳遞了 1 個(gè)浮點(diǎn)數(shù),或者至少您會(huì)傳遞,但是索引 [2][2] 上的元素超出了范圍。因此,將您的函數(shù)調(diào)用更改為
System.out.println(average(dArr));

并且數(shù)組應(yīng)該正確傳遞給函數(shù)。


查看完整回答
反對(duì) 回復(fù) 2023-04-26
?
Smart貓小萌

TA貢獻(xiàn)1911條經(jīng)驗(yàn) 獲得超7個(gè)贊

一些東西。dArr.length 只計(jì)算數(shù)組中的行數(shù),而不是項(xiàng)目。所以你應(yīng)該在循環(huán)中創(chuàng)建一個(gè)計(jì)數(shù)器來(lái)除以,或者使用上面建議的乘積。將總和改為+= dArr[i][j];使用 =+ 不起作用。在你的 for 循環(huán)中你想使用 ++i 和 ++j,而不是 i++ 和 j++。在您的嵌套循環(huán)中,您正在測(cè)試 i 而不是 j。這是功能代碼


public static void main(String[] args) {

   float[][] dArr = {

       {1.0f, 2.0f},

       {2.0f, 2.0f}

   };

   System.out.println(average(dArr));

}


static double average (float dArr[][]){


    double sum = 0;

    double count = 0;

    for(int i = 0; i < dArr.length; ++i){

        for(int j = 0; j < dArr[i].length; ++j){

            sum += dArr[i][j];

            count += 1;

            System.out.println(sum);

        }

    }

    return sum/count;

}


查看完整回答
反對(duì) 回復(fù) 2023-04-26
?
寶慕林4294392

TA貢獻(xiàn)2021條經(jīng)驗(yàn) 獲得超8個(gè)贊

您正在將數(shù)組的一個(gè)值dArr[2][2](無(wú)論如何都超出范圍;見下文)傳遞給您的函數(shù)。您需要將整個(gè)數(shù)組傳遞給 function average。此外,您需要更改函數(shù)的方法簽名:


float[][] dArr = {

                      {1.0f,2.0f},

                      {2.0f,2.0f}

                 };

System.out.println(average(dArr));


static double average (float[][] dArr){

    double sum=0;

    for(int i=0;i<dArr.length;i++){

        for(int j=0;i<dArr[i].length;j++){

            sum=+dArr[i][j];

        }

    }

    return sum / (dArr.length * dArr[0].length);

}

您會(huì)注意到最后一行的變化。要獲得數(shù)組中元素的總數(shù),我們必須將行乘以列。dArr.length給出行數(shù),同時(shí)dArr[0].length給出第一行的列數(shù),每一行都相同。


另請(qǐng)注意,java 中的數(shù)組是零索引的。因此,數(shù)組中的最后一個(gè)元素[1][1]沒有索引[2][2]。你在你的函數(shù)體中做對(duì)了,太棒了!


查看完整回答
反對(duì) 回復(fù) 2023-04-26
  • 3 回答
  • 0 關(guān)注
  • 201 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)