我有一个关于比较两个字符串的问题?并检查它们是否相同。以下是问题解释
// 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.
E.G两个makeMolecular都应该返回一串“A6B3”
我想检查它们是否相同使用和IF语句并在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;
}
我得到以下错误:不兼容的类型:void无法转换为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;
}
答案 0 :(得分:0)
应该是
String a = f.makeMolecular();
String b = f.makeMolecular();
if(a.equals(b))
return true;
else
return false;