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

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

類型 int、ArrayList 的運(yùn)算符未定義

類型 int、ArrayList 的運(yùn)算符未定義

catspeake 2023-05-10 14:21:58
我編寫了以下代碼來對 an 的元素求和ArrayList<Integer>:import java.util.ArrayList;public class SumAverage {    private int sum=0;    public void getInput(ArrayList li )    {        System.out.println("Given elements are "+li);    }    public int sumOfElements(ArrayList<Integer> lis)    {        sum=sum+lis;        return sum;    }}但是當(dāng)我運(yùn)行它時(shí),出現(xiàn)以下錯(cuò)誤:運(yùn)算符 + 對于參數(shù)類型 int、ArrayList 是未定義的我究竟做錯(cuò)了什么?
查看完整描述

4 回答

?
嚕嚕噠

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

您需要遍歷List以訪問每個(gè)Integer并將其添加到總和中:


public void sumOfElements(ArrayList<Integer> lis)

{

    for (Integer num : lis) {

        sum = sum + num;  //Access each element in the list one at a time and add it to the sum

    }

}

您還應(yīng)該使用 avoid作為返回類型,而不是int因?yàn)闆]有理由返回sum. 它已經(jīng)可以從類本身訪問,因此 return 是多余的。


下面是一個(gè)關(guān)于如何使用這個(gè)方法的例子,假設(shè)一個(gè)標(biāo)準(zhǔn)的 getter 方法:


SumAverage sa = new SumAverage();

sa.sumOfElements(yourList);

int sum = sa.get(sum);  //Local variable now contains your class variable


查看完整回答
反對 回復(fù) 2023-05-10
?
白衣染霜花

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

因?yàn)閘is是 anArrayList并且此類型不支持+,所以您需要訪問 ArrayList 的位置list.get(x)


但你可能想要這個(gè)


public int sumOfElements(ArrayList<Integer> lis) {

     int total = 0

     for(int i = 0; i < lis.size(); i++){

         total += lis.get(i);

     }

     return total;

}


查看完整回答
反對 回復(fù) 2023-05-10
?
蕪湖不蕪

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

你的問題是這段代碼。


public int sumOfElements(ArrayList<Integer> lis)

    sum=sum+lis;

    return sum;

}

編譯器不知道如何將 int 添加到 arrayList。


您需要做的是遍歷列表中的每個(gè)項(xiàng)目,并將總數(shù)制成表格。


public int sumOfElements(ArrayList<Integer> lis)

{

    sum=0; //reset the total

    for(int i: lis){ //loop through each element in lis

        sum+=i;

    }

    return sum;

 }

為了完整起見,如果您使用流,那么它將是這樣的:-(現(xiàn)在不需要擔(dān)心這個(gè),先掌握 Java 的基礎(chǔ)知識)


public int sumOfElements(ArrayList<Integer> lis)

    //it takes each item in lis, and sum them up.

    sum = IntStream.of(lis).sum();

    return sum;

 }

也正如 JoshhuaS 所提到的,您的打印文本可能不會返回您所期望的


public void getInput(ArrayList li )

{

    System.out.println("Given elements are "+li);

}

您可以將打印語句拆分為如下內(nèi)容


public void getInput(ArrayList li )

{

    System.out.print ("Given elements are " ); //note it's print instead of println

    System.out.println(li); //this will print for example [1,2,3,4]

}


查看完整回答
反對 回復(fù) 2023-05-10
?
ITMISS

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

我假設(shè)您期望運(yùn)算符+將自動應(yīng)用于lisand中的每個(gè)元素lisum=sum+lis;這不是or的情況"Given elements are "+li。您需要以某種方式迭代ArrayList以完成您想要實(shí)現(xiàn)的目標(biāo)。



查看完整回答
反對 回復(fù) 2023-05-10
  • 4 回答
  • 0 關(guān)注
  • 264 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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