黑马程序员技术交流社区
标题: System.in使用两次怎么就报错了 [打印本页]
作者: theape 时间: 2016-7-22 23:26
标题: System.in使用两次怎么就报错了
代码如下:
作者: 1208124957 时间: 2016-7-23 00:26
好像是你上面的那个System.in流关掉了 下面就不能再打开关掉的流 注释掉br.close()就可以了
作者: 自娱自乐的朋朋 时间: 2016-7-23 01:21
但是它下面程序没用到br啊
作者: ylca 时间: 2016-7-23 08:19
你br包装了 System.in 你关了br相当于关了System.in
作者: theape 时间: 2016-7-23 10:10
哦知道了,这样改就好了
System.in这个是静态变量,返回的是输入流InputStream对象
public static final InputStream in“标准”输入流。此流已打开并准备提供输入数据。通常,此流对应于键盘输入或者由主机环境或用户指定的另一个输入源。
System.in 包装在装饰设计模式上,System.in流被强制关掉了
System.in是静态的类相关的,在类加载时开启,所有方法都调用的是这一个成员,当它的流被关闭,便无法开启,也就无法再次使用这个流,于是在被调用时就报错。
作者: 1208124957 时间: 2016-7-23 22:46
你上面用了System.in 关掉了就不能再打开了 下面的那个System.in就不管用了 你下面的用了再关掉
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |