为了账号安全,请及时绑定邮箱和手机立即绑定

其他方法需要放在main方法之前,不然运行时会报错。看视频都不用,是版本问题吗?

有一个问题弱弱的问下...在视频教程中,老师的testForEachForSet方法是写在main方法后面,可以运行。 为什么我就不行了。会报错,提示:testForEachForSet方法未定义。放在main方法前面就可以,难道是版本的问题??http://img1.sycdn.imooc.com//57d917f20001ab7205940260.jpg

正在回答

2 回答

package com.imooc.collection;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;

public class TestSet {

	public List<Course> courseToSelect;
	
	public TestSet()
	{
		courseToSelect = new ArrayList<Course>();
	}
	
	public void addTest()
	{
		Course cr1 = new Course("1","数据结构");
		courseToSelect.add(cr1);
		
//		Course temp1=(Course) courseToSelect.get(0);
//		System.out.println("添加的课程:"+temp1.getId()+":"+temp1.getName());
		
		Course cr2 = new Course("2","C语言");
		courseToSelect.add(0, cr2);
		
		Course[] course={new Course("3","离散数学"),new Course("4","汇编语言")};
		courseToSelect.addAll(Arrays.asList(course));
		
		Course[] course2 = {new Course("5","高等数学"),new Course("6","大学英语")};
		courseToSelect.addAll(1,Arrays.asList(course2));
		
		
	}
	public void testForeach()
	{
		System.out.println("有如下课程可选:(Foreach循环遍历)");
		for(Object cou:courseToSelect)
		{
			Course co =(Course)cou;
			System.out.println(co.getId()+" "+co.getName());
		}
	}
	
	public void testForEachForSet(Student student)
	{
		for(Course cou:student.getCourse())
		{
			System.out.println("小明选择的课程是:"+cou.getId()+" "+cou.getName());
		}
	}

	public static void main(String[] args) {
		TestSet ts = new TestSet();
		ts.addTest();
		ts.testForeach();
		Student student = new Student("1","小明");
		System.out.println("欢迎"+student.getName()+"同学选课!");
		Scanner input = new Scanner(System.in);
		for(int i=0;i<3;i++)
		{
			System.out.println("请输入课程ID:");
			String id = input.next();
			
			//利用foreach循环遍历
//			for(Course cour:ts.courseToSelect)
//			{
//				if(id.equals(cour.getId()))
//				{
//					student.getCourse().add(cour);
//				}
//			}
			
			//利用迭代器循环遍历
			Iterator it = ts.courseToSelect.iterator();
			while(it.hasNext())
			{
				Course cour = (Course) it.next();
				if(id.equals(cour.getId()))
					{
						student.getCourse().add(cour);
					}
			}
		}
		
		ts.testForEachForSet(student);
		
	}
	
//	public void testForEachForSet(Student student)
//	{
//		for(Course cou:student.getCourse())
//		{
//			System.out.println("小明选择的课程是:"+cou.getId()+" "+cou.getName());
//		}
//	}

	
}

我的代码放前面和后面都可以呀

0 回复 有任何疑惑可以回复我~

没人遇到过吗~

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

其他方法需要放在main方法之前,不然运行时会报错。看视频都不用,是版本问题吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信