当我运行以下程序时,我找不到符号'错误。这可能是由于一个愚蠢的错误造成的,但我花了大约一个小时试图解决它,我不知道问题是什么。这是代码:
import java.util.*;
public class Purse{
private ArrayList<String> coins;
public Purse(){
coins = new ArrayList<String>();
}
public void addCoin(String coin){
if(coin == "Quarter" || coin == "Dime" || coin == "Nickel")
coins.add(coin);
}
public void removeCoin(String coin){
coins.remove(coin);
}
public void transfer(Purse other){
for(int i = 0; i < other.coins.size(); i++)
coins.add(other.coins.get(i));
other.remove(i);
}
}
这是它给我的错误:
Purse.java:23: error: cannot find symbol
other.remove(i);
^
symbol: variable i
location: class Purse
1 error
该计划应该是“移动”。从一个ArrayList到另一个ArrayList的项目。
答案 0 :(得分:2)
当你这样做时
for(int i = 0; i < other.coins.size(); i++)
coins.add(other.coins.get(i));
other.remove(i);
没有{}那么只是跟随在for范围内的那一行...
基本上,对于这个陈述:
other.remove(i);
变量 i 未定义....
另一方面:
这对于比较字符串
永远不会有用coin == "Quarter"