[英]How to find the number of times a specific element occurs in an Array list in Java
[英]Finding the number of times an element occurs in Java
public int howMany(String element) {
int amt = 0;
for (int i = 0; i < log.length; i++) {
if (element.equalsIgnoreCase(log[i]))
amt = amt+1;
}
return amt;
}
}
那就是我目前的代碼。 它采用提供的元素,並循環遍歷以amt形式計數的次數。 但是,當我實際運行的測試中期望有一個非0的數字時,它會失敗,因為由於某種原因,無論如何,HowMany IS 0賦予它的數字是多少。 即使我在一開始將amt更改為5,但在運行如下所示的測試時,它仍然為0。
public void test_1_match_at_beginning() {
strLog.insert("string 1"); strLog.insert("string 2");
strLog.insert("string 3"); strLog.insert("string 4");
strLog.insert("string 5");
assertEquals(1, strLog.howMany("string 1"));
}
我可以采取什么措施解決此問題? 因為如我所見,我什至不知道是什么原因造成的。
編輯:糟糕。 陣列版本的測試已被注釋掉。 實際運行的是鏈接版本,但尚未更改。 抱歉浪費大家的時間。
您的代碼的一個大問題是,您的退貨放置在錯誤的位置。 您應該注意,如果適當縮進代碼。 現在,將return放入for循環中,這意味着在檢查第一個元素之后,它將返回amt
。 盡管它可能不會導致您描述的問題(總是返回0?),但這肯定是您需要解決的大問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.