我有一个关于比较两个字符串的问题?并检查它们是否相同。下面是问题explenation检查两个字符串?是相同的,如果他们返回true
// returns true if f.makeMolecular() is is equal to this.makeMolecular
// e.g. terms = {Term('B',3),Term('A',6)} and f = {Term('B',1),Term('A',3),Term('B',1),Term('A',3)}
// would return true
// The makeMolecular() method sorts the Term Strings into Alphabetical order with the number linked to the letter added and following behind the letter.
EG无论是makeMolecular的应该返回“A6B3”
的字符串,我要检查,如果他们使用和是相同的IF语句,并采取==方法advatange在Java的。
下面列出了一个解决方案来检查字符串是否相同,但如上所述,我想用iff语句来做。
{
this.makeMolecular();
f.makeMolecular();
return identical(f);
}
这是我到目前为止已经试过:
char b = f.makeMolecular();
char b = f.makeMolecular();
if (a==b){
return true;
}
else{
return false;
}
,我也得到了以下错误:不兼容的类型:无效,不能转换为char。我很确定在这里使用“char”不正确,但我不确定要使用什么。
所以我想知道如何将这些字符串(?)转换为常量,然后通过IF语句检查它们是否相同。
//编辑:
根据要求;这是makeMolecular()
public void makeMolecular()
{
char element = ' ';
int atoms = 0;
ArrayList<Term> mol = new ArrayList<Term>();
while (terms.size() > 0){
if (mol.size() > 0 && mol.get(mol.size() - 1).getElement() == nextElement().getElement() ){
atoms = mol.get(mol.size() - 1).getAtoms() + nextElement().getAtoms();
element = nextElement().getElement();
mol.remove(mol.size() - 1);
mol.add(new Term(element,atoms));
}
else {
mol.add(nextElement());
}
terms.remove(nextElement());
}
terms = mol;
}
更新与makeMolecular()方法来cleare的事情了。 – joguel10
'makeMolecular'是一个无效函数。它不能返回任何东西。 – computerfreaker