检查两个字符串?是相同的,如果它们是

时间:2016-04-15 07:10:50

标签: java string if-statement methods

我有一个关于比较两个字符串的问题?并检查它们是否相同。以下是问题解释

// 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;
}

1 个答案:

答案 0 :(得分:0)

应该是

 String a = f.makeMolecular();
 String b = f.makeMolecular();

 if(a.equals(b))
     return true;
 else
     return false;