我使用此代码收到此错误:
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的初学者,所以我不知道如何解决这个错误。
为什么这不起作用?
import java.util.*;
/ ** *在这里写一个关于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);
}
这是我的班级Wedstrijdlijst
答案 0 :(得分:3)
因为Wedstrijdlijst类没有实现Iterable接口
答案 1 :(得分:-1)
enhanced for loop或for-each循环是Java5中的一个新功能,可帮助迭代Iterables(实现Iterable
接口的类)和数组。
所以你可以拥有像
这样的东西List<String> names = ...
...
for(String name : names)
{
}
因此,为了让for (Wedstrijd w: wedstrijdlijst)
能够发挥作用,您的wedstrijdlijst
应该实施Iterable
。
BTW,班级Wedstrijdlijst
包含什么?如果它里面有某种列表(在你评论之后,看起来就是这种情况),比如
class Wedstrijdlijst
{
private List<Wedstrijd> list
...
public getList()
{
}
...
然后你就可以在列表中循环:
for (Wedstrijd w: wedstrijdlijst.getList())
此外,如果这是您的设计,请尝试重新访问它。您甚至可能没有单独的Wedstrijdlijst
课程。 java.util.List
类中的Cafévoetbalploeg
应该足够了)
<强>更新强>
根本不需要Wedstrijdlijst
课程。在Cafévoetbalploeg
中,移除Wedstrijdlijst wedstrijdlijst
并添加ArrayList<Wedstrijd> wedstrijden
现在你可以根据需要循环遍历wedstrijden。