Java初学者,我试图在arrayList中使用不同的术语,如果它们具有相同的元素值(字符值),则将它们加在一起,并将新术语添加到新的arraylist中。我不断得到一个错误,它说c.molecular有< 1>预期的组件,但是< 0>。
这是我的代码。
方法.getElement返回Arraylist Term中Term的字符值元素,方法.nextElement只给出了arraylist术语中字母最小的Term。
public void makeMolecular()
{
terms = new ArrayList<Term>();
molecular = new ArrayList<Term>();
for(int m = 0; m <terms.size() ; m++){
molecular.add(nextElement());
terms.remove(m);
}
for(int a =0; a < molecular.size()-1; a++){
if(molecular.get(a).getElement() ==molecular.get(a+1).getElement()){
molecular.remove(a);
molecular.remove(a+1);
char element2 = molecular.get(a).getElement();
int number2= molecular.get(a).getAtoms() + molecular.get(a+1).getAtoms();
Term unyielding = new Term(element2, number2 );
molecular.add (unyielding);
terms = new ArrayList<Term>(molecular);
}
}
答案 0 :(得分:0)
for(int a =0; a < molecular.size()-1; a++)
你可以改变上面的这一行
for(int a =0; a < molecular.size(); a++)
如果您在更改行后出现任何错误,请告诉我