簡體   English   中英

計算Java中兩個數組中匹配元素的數量以及如何生成100個以上

[英]Count the number of matching elements in two arrays in Java and how to generate more than 100

如何找到一種方法來使我的代碼計算相同大小(相同值,相同位置)的兩個數組中匹配元素的數量。 例如,如果array1具有5、4、3、2、1,而array2具有1、2、3、4、5,則有一個匹配元素3。如何獲得代碼以執行此看似簡單的任務? 通過說我有1個匹配項,3個匹配項或任何其他數字,它會告訴我多少? 就像我希望它計算匹配的數量並給我一個數字。

那是我的兩個生成100個數字的數組。 我也希望他們生成10,000,000個數字,我不確定該怎么做? 他們正在產生100,但是我希望它能達到10,000,000?

對於此代碼:

        if (store[t] ==store[w])
        {
            maching = maching +1;
            System.out.println("Generated: " + maching);
        }

    }
   //return maching;
}

它應該計算出匹配的數量,然后給我匹配的數量。 但是它的作用是給了我:就像三個匹配項一樣,它給了我:生成:1,生成1,生成1,而不是僅僅給我3。我還評論了匹配的收益,因為它給了我錯誤,所以我注釋掉。 也許如果我得到回報匹配工作,它將解決整個問題嗎? 我不確定是什么原因引起的? 謝謝。

我希望它計算兩個數組之間匹配的數字。 因此,當我在這兩個數組之間獲得6個數字匹配時,應該說我得到了6個匹配的數字。

Random randomGenerator = new Random();

for (int t = 0; t < 100; ++t)
{
    int randomNumber = randomGenerator.nextInt(100);
    store[t] = randomNumber;
}

int matching =0;
for ( int w = 0; w< 100; ++w)
{
    int randomNumber = randomGenerator.nextInt(100);
    count[w] = randomNumber;
    int t =0;

    if (store[t] ==count[w])
    {
        matching = matching +1;
        System.out.println("Generated: " + maching);
    } 
}


System.out.println("Done.");
}
for ( int w = 0; w< 100; ++w)
{
    int randomNumber = randomGenerator.nextInt(100);
    int t =0;
    int maching =0;
    if (store[t] ==store[w])
    {
        maching = maching +1;
        System.out.println("Generated: " + maching);
    } 
}
  • 在這里,您只有一個數組store[]並且在另一個循環中使用t分配了元素

  • 在上面的代碼中,您設置t=0 ,然后比較store[t] and store[w] ,所以您要做的是:比較store[0] with store[0],store[1]..store[99]我認為這不是您想要的。

  • 如果您不想分配第二個數組,我認為您至少應該將store[w] with randomNumber instead of store[t]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM