なぜこれは機能しませんか? 数式とは別の情報が必要なのかどうか分からないのは、型Termを作るcharとintで与えられます。アレイリストとブール値の比較
// 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. termsはArrayListの名前です
を使用してそれらを比較することができ、実装が – Stultuske
と違う場合、Termはブール値に変換できません。 – Alfred
おそらく 'if(fTester == tester)'はアドレスと内容を比較しないためです。 'equals'を実装し、それを使ってカスタムオブジェクトを比較する必要があります。 –