OOjava BlueJ:foreach不适用于表达式类型

OOjava BlueJ:foreach不适用于表达式类型,java,Java,我使用以下代码获得此错误: public class Cafévoetbalploeg { // instance variables - replace the example below with your own private String naam; private int stichtingsjaar; private String plaats; private int totaalDoelpunten; private int aantalGewonnenWedstrijden;

我使用以下代码获得此错误:

public class Cafévoetbalploeg
{
// instance variables - replace the example below with your own
private String naam;
private int stichtingsjaar;
private String plaats;
private int totaalDoelpunten;
private int aantalGewonnenWedstrijden;
private Wedstrijdlijst wedstrijdlijst;    

/**
 * Constructor for objects of class Cafévoetbalploeg
 */
public Cafévoetbalploeg() {
    stichtingsjaar = 0;

}    

/**
 *De naam van de ploeg
 *
 *@param ploegnaam geef de naam van de ploeg in
 */
public void naam(String ploegnaam) {
    naam = ploegnaam;        
}

/**
 *Het stichtingsjaar
 *
 *@param jaar geef het stichtingsjaar in
 */
public void stichtingsjaar(int jaar) {
    stichtingsjaar = jaar;        
}
/**
 *De locatie waar de ploeg speelt
 *
 *@param geef de locatie in waar de ploeg speelt
 */
public void plaats(String locatie) {
    plaats = locatie;
}

public int getAantalGewonnenWedstrijden (int jaar) {
    for (Wedstrijd w: wedstrijdlijst) 
    {
        if(wedstrijd.getJaar() == jaar) {
            w = wedstrijd;
        }              
    }       
}    

/**
 * Geef de naam van de ploeg
 * 
 * @return naam de naam van de ploeg
 */
public String naam() {
    return naam;
}
/**
 * Geef het stichtingsjaar van de voetbalploeg
 * 
 * @return stichtingsjaar het stichtingsjaar van de ploeg
 */
public int stichtingsjaar() {
    return stichtingsjaar;
}
/**
 * Geef de plaats waar de ploeg speelt
 * 
 * @return plaats de plaats van de ploeg
 * 
 */
public String plaats() {
    return plaats;
}
}

它卡在这里了:

for(Wedstrijd w:wedstrijdlijst)

我只是一个java初学者,所以我不知道如何解决这个错误

为什么这不起作用


/** *在这里写下Wedstrijdlijst类的描述。 * *@author(你的名字) *@version(版本号或日期) */

公共类Wedstrijdlijst { //实例变量-将下面的示例替换为您自己的

private ArrayList<Wedstrijd> wedstrijden;

/**
 * Constructor for objects of class Wedstrijdlijst
 */
public Wedstrijdlijst()
{
   wedstrijden = new ArrayList<Wedstrijd>();

}

public void nieuweWedstrijd(Wedstrijd wedstrijd) {

    wedstrijden.add(wedstrijd);


}
private ArrayList wedstrijden;
/**
*Wedstrijdlijst类对象的构造函数
*/
公共Wedstrijdlijst()
{
wedstrijden=新ArrayList();
}
公共无效Nieuwedwestrijd(Wedstrijd Wedstrijd){
wedstrijden.add(wedstrijd);
}

这是我的类Wedstrijdlijst,因为Wedstrijdlijst类没有实现接口,或者for-each循环是Java5中的一个新特性,它有助于迭代可重用(实现可重用接口的类)和数组

所以你可以吃点类似的东西

List<String> names = ...
...
for(String name : names)
{
}
然后,您将能够循环浏览列表:

for (Wedstrijd w: wedstrijdlijst.getList())
此外,如果这是您的设计,请尝试重新访问它。您甚至可能没有一个单独的
Wedstrijdlijst
类。在
Cafévoetbalploeg
类中的
java.util.List
就足够了)

更新:

您根本不需要
Wedstrijdlijst
类。在
Cafévoetbalploeg
中,删除
Wedstrijdlijst
并添加
ArrayList wedstrijden


现在,您可以根据需要在wedstrijden上循环。

定义“它卡住了”。您是否收到错误消息?如果是,是哪一条?我收到的错误在标题中!我不明白您的意思?我在名为Wedstrijdlijst的类中创建了一个arraylistwedstrijden@Thomas,正如我所怀疑的。看看我的答案。然后你需要为我做些什么(Wedstrijd w:wedstrijdlijst.getWedstrijden())在wedstrijdlijstinport java.util.*./***内的java.util.List(实现Iterable)上迭代;/***在此处编写类wedstrijdlijst的说明。**@author(您的姓名)*@version(版本号或日期)/公共类wedstrijdlijst{//实例变量-用您自己的私有ArrayList wedstrijden替换下面的示例;/**类Wedstrijdlijst*/public Wedstrijdlijst()对象的构造函数{wedstrijden=new ArrayList();}public void Nieuwewdstrijd(Wedstrijd){wedstrijden.add(wedstrijd);}
class Wedstrijdlijst
{
   private List<Wedstrijd> list
   ...
   public getList()
   {
   }
   ...
for (Wedstrijd w: wedstrijdlijst.getList())