【问题标题】:Checking if two strings? are identical and returning true if they are [duplicate]检查是否有两个字符串?如果它们是相同的,则返回 true [重复]
【发布时间】: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


【解决方案1】:

应该是

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

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

【讨论】:

  • 应该是return a.equals(b);。或者Objects.equals(a, b) 如果a 可能为空。
  • 感谢您的快速响应,但是当我尝试此解决方案时,我收到以下错误:“不兼容的类型:void 无法转换为 java.lang.String
  • makeMolecular() 方法的返回类型是什么?
  • @Amriteya void,很明显。
  • 我不确定,但我认为它来自 public void makeMolecular() 然后将其转换为 ArrayList ?抱歉,如果这令人困惑
猜你喜欢
  • 1970-01-01
  • 2013-08-01
  • 2013-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-12
相关资源
最近更新 更多