我對java相當陌生并且已經開始使用ArrayLists并且我被困在一個特定的問題上。我在下面的代碼中試圖做的是將一個值傳遞給方法 locateCatalogue,它將通過數組列表集合來匹配輸入的值。一旦找到匹配的值,停止執行并顯示該項目有多少項目。否則,如果數字不存在,只需 return null,這是我的代碼:Arraylist<Catalogue> items;Public locateCatalogue (int number) // if int number matches value entered, find number. for(int i=0; i < locateCatalogue.length; i++) if (Catalogue.get(i) = number) return Catalogue; } else { //return no value if entered value has no matching number. return null; }
3 回答

暮色呼如
TA貢獻1853條經驗 獲得超9個贊
運算符的=意思是定義變量。供比較使用==。此外,您搞砸了 if 語句:
Arraylist<Catalogue> items;
Public int locateCatalogue (Catalogue catalogue ){
for(int i=0; i < items.size(); i++)
if(items.get(i) == catalogue )
return i;
else
return -1;
}
但是,如果您在找到第一個之后返回,則無法計算您想要的項目。也不清楚你想返回什么

胡子哥哥
TA貢獻1825條經驗 獲得超6個贊
public Catalogue locateCatalogue( int number ) {
for( Catalogue item : items ) {
if( item.id == number ) {
return item;
}
return null;
}

回首憶惘然
TA貢獻1847條經驗 獲得超11個贊
for循環的語法如下:
for(int i=0; i < items.size(); i++) {
//some code
}
if 語句的語法是:
if(items.get(i) == number) {
//some code
}
添加回答
舉報
0/150
提交
取消