为什么我找不到符号'这个程序有错误吗?

时间:2017-01-31 13:29:01

标签: java symbols 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

该计划应该是“移动”。从一个ArrayList到另一个ArrayList的项目。

1 个答案:

答案 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"