2016-04-15 98 views
0

我有一個關於比較兩個字符串的問題?並檢查它們是否相同。下面是問題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; 
} 
+0

更新與makeMolecular()方法來cleare的事情了。 – joguel10

+0

'makeMolecular'是一個無效函數。它不能返回任何東西。 – computerfreaker

回答

0

的方法應該是

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

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

它應該是'return a.equals(b);'。或'Objects.equals(a,b)'如果'a'可能爲空。 –

+0

感謝您的快速響應,但是當我嘗試這個解決方案時,我得到以下錯誤:「不兼容的類型:無法轉換爲java.lang.String – joguel10

+0

什麼是返回類型的makeMolecular()方法? – Amriteya

相關問題