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

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

類型 int、ArrayList 的運算符未定義

類型 int、ArrayList 的運算符未定義

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;    }}但是當我運行它時,出現(xiàn)以下錯誤:運算符 + 對于參數(shù)類型 int、ArrayList 是未定義的我究竟做錯了什么?
查看完整描述

4 回答

?
嚕嚕噠

TA貢獻1784條經驗 獲得超7個贊

您需要遍歷List以訪問每個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

    }

}

您還應該使用 avoid作為返回類型,而不是int因為沒有理由返回sum. 它已經可以從類本身訪問,因此 return 是多余的。


下面是一個關于如何使用這個方法的例子,假設一個標準的 getter 方法:


SumAverage sa = new SumAverage();

sa.sumOfElements(yourList);

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


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

TA貢獻1796條經驗 獲得超10個贊

因為lis是 anArrayList并且此類型不支持+,所以您需要訪問 ArrayList 的位置list.get(x)


但你可能想要這個


public int sumOfElements(ArrayList<Integer> lis) {

     int total = 0

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

         total += lis.get(i);

     }

     return total;

}


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

TA貢獻1796條經驗 獲得超7個贊

你的問題是這段代碼。


public int sumOfElements(ArrayList<Integer> lis)

    sum=sum+lis;

    return sum;

}

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


您需要做的是遍歷列表中的每個項目,并將總數(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)在不需要擔心這個,先掌握 Java 的基礎知識)


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);

}

您可以將打印語句拆分為如下內容


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]

}


查看完整回答
反對 回復 2023-05-10
?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

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



查看完整回答
反對 回復 2023-05-10
  • 4 回答
  • 0 關注
  • 227 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號