Java 检查是否有两个字符串?相同,如果相同,则返回true
我有一个关于比较两个字符串的问题?并检查它们是否相同。下面是问题的解释Java 检查是否有两个字符串?相同,如果相同,则返回true,java,string,if-statement,methods,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
// 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.
例如,两个makeMolecular都应该返回一个字符串“A6B3”
我想使用and if语句和Java中==方法的advatange检查它们是否相同
下面是一个检查字符串是否相同的解决方案,但正如前面提到的,我想用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语句检查它们是否相同
{
this.makeMolecular();
f.makeMolecular();
return identical(f);
}
//编辑:
应要求;这是makeMolecular()的方法
public void makeMolecular()
{
char元素=“”;
int原子=0;
ArrayList mol=新的ArrayList();
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();
分子移除(分子大小()-1);
mol.add(新术语(元素、原子));
}
否则{
mol.add(nextElement());
}
删除(nextElement());
}
术语=摩尔;
}
应该是
String a = f.makeMolecular();
String b = f.makeMolecular();
if(a.equals(b))
return true;
else
return false;
它应该是
返回a.equals(b)代码>。或者Objects.equals(a,b)
如果a
可能为空。感谢您的快速响应,但是当我尝试此解决方案时,我得到以下错误:“不兼容的类型:void无法转换为java.lang.StringMakeMollector()的返回类型是什么?”方法?@Amriteyavoid
,很明显。我不确定,但它是来自public void makeMolecular(),然后我想是谁将其转换为ArrayList的?很抱歉,如果这与makeMolecular()清除内容的方法相混淆。makeMolecular
是一个void函数。它不能返回任何内容。