【发布时间】:2016-04-15 07:10:49
【问题描述】:
我有一个关于比较两个字符串的问题?并检查它们是否相同。下面是问题的解释
// 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”
我想检查它们是否相同 using 和 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;
}
【问题讨论】:
-
更新了 makeMolecular() 的方法来清理。
-
makeMolecular是一个空函数。它不能返回任何东西。
标签: java string if-statement methods