[英]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.