A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© znouy_92 中级黑马   /  2015-4-8 16:43  /  554 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请各位大神帮忙解惑,问题在代码中用问号(???)标注了
也就是BufferedReader br = new BufferedReader(new FileReader("user.txt"));
这行代码在for循环外面运行怎么会出现如图片显示的错误

QQ截图.png (2.65 KB, 下载次数: 73)

QQ截图.png

UserLogin.rar

1.26 KB, 下载次数: 205

点评

基础不扎实系列。。。的问题。。。  发表于 2015-4-8 21:15

6 个回复

倒序浏览
本帖最后由 znouy_92 于 2015-4-8 16:46 编辑

问题再补充一下,那行代码在for循环里面是正常的。如图:

QQ截图2015.png (1.83 KB, 下载次数: 74)

QQ截图2015.png
回复 使用道具 举报
本帖最后由 君嘘 于 2015-4-8 21:13 编辑

噗。。楼主,把br放在循环外面,你第一行如果输入zhangsan的话,那么肯定是欢迎光临。

楼主错误的原因:
把br放在循环外面,你while一次之后,br的指针都指向user文本的末尾。
所以下次循环的时候是从user文件最后一行开始读,怎么读返回的都是空。

把br放在里面,每次循环都是重新new了一个br,所以每次都是从第一行开始读。自然不会出现以上问题。

给你解决了问题是不是加点分给我哈
回复 使用道具 举报
君嘘 发表于 2015-4-8 21:12
噗。。楼主,把br放在循环外面,你第一行如果输入zhangsan的话,那么肯定是欢迎光临。

楼主错误的原因:

厉害,不过在之前我已经想通了,不过还是要多谢你
回复 使用道具 举报
...你这是找不到类吧?
回复 使用道具 举报
哦为什么应该不简单
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马