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

哪里有问题了??求高手解答!

哪里有问题了??求高手解答!

慕粉4065503 2017-05-10 09:33:59
import java.io.*;import java.util.*;class Coures{ String id;String name; public Coures(String id,String name){ this.id = id; this.name = name; }}public class Test { public List<Coures> Coureslist = null; public Test(){ Coureslist = new ArrayList<Coures>(); } String s = null; int i = 0; File f = new File("word.txt"); public void Addcoures(){ try { FileReader fr = new FileReader(f); BufferedReader bur = new BufferedReader(fr); while((s=bur.readLine())!=null){ i++; System.out.println("第"+i+"行"+s); String str[] =s.split(";"); Coures co = new Coures(str[0],str[1]); Coureslist.add(co); } System.out.println("有"+Coureslist.size()+"门课程"); bur.close(); fr.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public void testIterator(){//迭代器 Iterator<Coures> it = Coureslist.iterator(); System.out.println("有如下课程了"); while(it.hasNext()){ Coures cr = (Coures)it.next(); System.out.println("课程:"+cr.id+":"+cr.name); } } public static void main(String[] args) { new Test().Addcoures(); System.out.println("****************************************************"); new BufferedTest().testIterator(); }}上面是代码  Word.txt文件中的内容如下:1;英语2;语文3;数学运行程序后迭代器输出Coureslist是空的 ,在Addcoures()方法中添加System.out.println("有"+Coureslist.size()+"门课程");语句测试显示Coureslist.size()等于3.请问这是什么原因了,怎样才能让迭代器输出Coureslist内容???
查看完整描述

1 回答

已采纳
?
botao555

TA贡献48条经验 获得超46个赞

public static void main(String[] args) {
		Test test = new Test();
		test.Addcoures();
		System.out.println("****************************************************");
		test.testIterator();
	}

main方法改成这样试试,你调用Addcoures()方法时new了一个Test对象,此时Coureslist里被正常赋值,但是你调用testIterator()时又new了一个Test对象,所以testIterator()里时Coureslist里并没有值。你应该只new一个Test对象,然后用这个对象分别调用Addcoures()和testIterator()就行了

解决了问题的话望采纳!

查看完整回答
反对 回复 2017-05-10
  • 1 回答
  • 0 关注
  • 1217 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信