为什么我在这个程序中会出现 'cannot find symbol' 错误?
Why do I get a 'cannot find symbol' error in this program?
当我运行下面的程序时,我得到一个'cannot find symbol'错误。这可能是由一个愚蠢的错误引起的,但我花了大约一个小时试图修复它,但我不知道问题出在哪里。这是代码:
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
该程序应该是 'moving' 个项目,从一个 ArrayList 到另一个。
当你这样做时
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"
当我运行下面的程序时,我得到一个'cannot find symbol'错误。这可能是由一个愚蠢的错误引起的,但我花了大约一个小时试图修复它,但我不知道问题出在哪里。这是代码:
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
该程序应该是 'moving' 个项目,从一个 ArrayList 到另一个。
当你这样做时
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"