Java 为什么我会得到一个';找不到符号';这个程序有错误吗?
当我运行以下程序时,出现“找不到符号”错误。它可能是由一个愚蠢的错误引起的,但我花了大约一个小时试图修复它,我不知道问题是什么。代码如下:Java 为什么我会得到一个';找不到符号';这个程序有错误吗?,java,symbols,cannot-find-symbol,Java,Symbols,Cannot Find Symbol,当我运行以下程序时,出现“找不到符号”错误。它可能是由一个愚蠢的错误引起的,但我花了大约一个小时试图修复它,我不知道问题是什么。代码如下: import java.util.*; public class Purse{ private ArrayList<String> coins; public Purse(){ coins = new ArrayList<String>(); } public void addCoin(St
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);
}
}
程序应该将项目从一个ArrayList“移动”到另一个ArrayList。执行此操作时
for(int i = 0; i < other.coins.size(); i++)
coins.add(other.coins.get(i));
other.remove(i);
变量i未定义
另一方面:
这对于比较字符串永远不起作用
coin == "Quarter"
另请参见,您的
for
循环需要大括号。您需要使用大括号来包围for
循环要执行的代码。但是除此之外,您不应该使用==
来比较字符串。这就是为什么您应该始终对任何块语句使用大括号,即使它们只包含一条语句。谢谢。我正在学习这个java课程,不知怎么的,我从来没有学过这两门课……没问题,在这里我们都可以学到新东西。。。
other.remove(i);
coin == "Quarter"