爲什麼不能正常工作? 我不確定除了公式之外,你需要的其他信息是由一個字符型和一個使類型爲Term的int值給出的。比較ArrayLists和布爾值
// returns true if f is identical to this Formula
// e.g. terms = {Term('C',2),Term('H',6)} and f = {Term('C',2),Term('H',6)} would return true
// but terms = {Term('C',2),Term('H',6)} and f = {Term('H',6),Term('C',2)} would return false
public boolean identical(Formula f)
{
int fSize = f.getTerms().size();
if(fSize!=terms.size())
{
return false;
}
else
{
for(int j = 0; j < fSize; j++)
{
Term tester = terms.get(j);
Term fTester = f.getTerms().get(j);
if(fTester == tester)
{
continue;
}
else
{
return false;
}
}
}
return true;
}
N.B.術語是ArrayList的名稱
也許是因爲你使用的是==操作符比較對象加以比較,而不是一個很好的等於執行 – Stultuske
該死的,那麼它說Term不能轉換爲布爾值。 – Alfred
可能是因爲'if(fTester == tester)'比較地址而不是內容。你需要實現'equals'並使用它來比較自定義對象。 –