JAVA,无法正常编译

JAVA,无法正常编译,请问是哪里的问题?需要如何修改?请给出详细解答,谢谢

package A;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class JavaDemo5 {
    public static void main(String[] args){
        List<Course>myList = new ArrayList<Course>();
        myList.add(new ReqCourse("面向对象程序设计",4,85));
        myList.add(new ReqCourse("程序设计基础",4,90));
        myList.add(new ReqCourse("线性代数",4,78));
        myList.add(new ReqCourse("体育",2,90));
        for(int i = 0;i < myList.size();i++){
            Course c = myList.get(i);
            c.printInfo();
        }
        //这里为什么这样用?
        for(Course c : myList){
            c.printInfo();
        }
        //遍历myList方法:使用迭代器,不太明白
        Iterator<Course>iterator = myList.iterator();
        while(iterator.hasNext()){
            Course c = myList.next();//此处next标红,请问代码该如何修改才能正常编译?
            c.printInfo();
        }
    }
}


myList.next()
改成iterator.next()

//此处为增强型for循环,因为遍历的是Course类,且均放置在数组myList中, c.printInfo();是在遍历打印信息
 for(Course c : myList){
            c.printInfo();
        }
        //遍历myList方法:使用迭代器,不太明白
        Iterator<Course>iterator = myList.iterator();
        while(iterator.hasNext()){//此处使用Iterator.hasNext()方法,来比较
            Course c = iterator.next();//这里是使用迭代器读取下一个
            c.printInfo();