Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么我会得到一个';找不到符号';这个程序有错误吗?_Java_Symbols_Cannot Find Symbol - Fatal编程技术网

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"