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

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

如何從數組列表中獲取不同的值?

如何從數組列表中獲取不同的值?

偶然的你 2022-05-21 20:19:35
恐怕我對集合和數據結構的了解不足以處理涉及哈希集的類似問題。我目前有一個循環,它在一個隨機化數組中的索引的程序中。傳入該方法的原始數組由所有小于 1,000 的素數組成。不包括完整的課程,因為它是更大的家庭作業的一部分。我的問題是我創建的 if 語句重復打印出數字,即使我認為我將它編碼為僅在數字已經不在數組中時才打印出數字。有人可以指出我的邏輯錯誤嗎?public static void shuffle(int[] intArray, String name){    assert intArray != null : "null!";    long seed = name.hashCode();    Random random = new Random(seed);    for(int i = 0; i < 1000; i++)    {        int random_m = random.nextInt(intArray.length);        int random_n = random.nextInt(intArray.length);        int temp = intArray[random_m];        intArray[random_m] = intArray[random_n];        intArray[random_n] = temp;        int zeroIndex = intArray[0];        List<Integer> myList = new ArrayList<Integer>();        if(!myList.contains(zeroIndex))        {            System.out.println(zeroIndex);        }        myList.add(zeroIndex);    }}輸出的部分示例:5821 5821 5821 5821 5821 5821 5821 5821 5821 5821 5821 5821
查看完整描述

2 回答

?
一只萌萌小番薯

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

      List<Integer> myList = new ArrayList<Integer>();

這行代碼通過每次迭代為 myList 創建新的 memorySpace,因此每次迭代循環時,myList 的值都會被重置。

所以在循環外定義 myList 。


查看完整回答
反對 回復 2022-05-21
?
倚天杖

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

采用int zeroIndex = intArray[i];

希望你現在明白了:-)


查看完整回答
反對 回復 2022-05-21
  • 2 回答
  • 0 關注
  • 151 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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