亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

在java中搜索arraylist中的整數

在java中搜索arraylist中的整數

呼啦一陣風 2023-03-31 15:09:43
public class FindNumber {            static String findNumber(List<Integer> arr, int k) {                String res = "YES";    //Unable to identify problem with this part of the code                for (int i = 0; i < arr.size(); i++) {                    if (k == arr.get(i))                        res = "YES";                    else                        res = "NO";                }                return res;            }}即使整數存在于列表中,上面的代碼也會返回 NO 作為答案。
查看完整描述

5 回答

?
米脂

TA貢獻1836條經驗 獲得超3個贊

您可以只使用來獲取是否在列表中的arr.contains()布爾值。Integer然后您可以將此值轉換為YESor NO(如果您確實需要它):

String yesNo = arr.contains(k) ? "YES" : "NO";


查看完整回答
反對 回復 2023-03-31
?
青春有我

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

這將起作用:


static String findNumber(List<Integer> arr, int k) {

            String res = "YES";

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

                if (k == arr.get(i))

                    res = "YES";

                    break;

                else

                    res = "NO";


            }


            return res;


        }

一旦找到整數,就必須停止循環,您可以使用break


查看完整回答
反對 回復 2023-03-31
?
暮色呼如

TA貢獻1853條經驗 獲得超9個贊

使用流:


static String findNumber(List<Integer> arr, int k) {

    return arr.stream()

        .filter(e -> e == k)

        .findFirst()

        .map(e -> "YES")

        .orElse("NO");

}


查看完整回答
反對 回復 2023-03-31
?
慕絲7291255

TA貢獻1859條經驗 獲得超6個贊

嘗試優化您的代碼....


方式 1(使用 for-each 循環):


 static String findNumber(List<Integer> arr, int k) { 

        for (Integer integer : arr) {

            if (integer == k) {

                return "YES";

            }

        }

        return "NO"; 

    }

另一種方法是(使用三元運算符):


static String findNumber(List<Integer> arr, int k) { 

    return arr.contains(k) ? "YES" : "NO";

}


查看完整回答
反對 回復 2023-03-31
?
qq_花開花謝_0

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

你的代碼的主要問題是,即使它在 ArrayList 中找到了一個整數對象,在設置 res = Yes 之后,它仍然繼續迭代。因此,有可能列表中有其他值不是所需的數據類型,從而將 res 設置回否。這里的解決方案是使用跳轉語句,例如 break,它會在出現時立即終止循環過程。遇到整數。希望能幫助到你!



查看完整回答
反對 回復 2023-03-31
  • 5 回答
  • 0 關注
  • 190 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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