Java Scanner 的关闭
在main函数和被调用的函数中都有Scanner,但在被调用的函数中将Scanner关闭后main函数中的Scanner也不能用了,怎么讲他们都关闭呢publicclas...
在main函数和被调用的函数中都有Scanner,但在被调用的函数中将Scanner关闭后main函数中的Scanner也不能用了,怎么讲他们都关闭呢
public class Test {
public static void main(String[] args){
Test test = new Test();
test.m1();
Scanner in = new Scanner(System.in);
String str = in.nextLine();
System.out.println(str);
in.close();
}
public void m1(){
Scanner in = new Scanner(System.in);
String str = in.nextLine();
System.out.println(str);
in.close();
}
}
这样就会报错,如果把方法m1中的in.close()删除就行 展开
public class Test {
public static void main(String[] args){
Test test = new Test();
test.m1();
Scanner in = new Scanner(System.in);
String str = in.nextLine();
System.out.println(str);
in.close();
}
public void m1(){
Scanner in = new Scanner(System.in);
String str = in.nextLine();
System.out.println(str);
in.close();
}
}
这样就会报错,如果把方法m1中的in.close()删除就行 展开
2013-08-06
展开全部
这个就是不需要你手动关闭的
追问
嗯,关主函数中的就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-06 · 知道合伙人软件行家
关注
展开全部
你使用的公共的Scanner吗?你还是直接上代码吧 这样分析原因比较准确
追问
知道达人帮我看看
追答
public static final InputStream in
“标准”输入流。此流已打开并准备提供输入数据。通常,此流对应于键盘输入或者由主机环境或用户指定的另一个输入源。
这是官方文档对 system.in的解释
他是一个static类型的 也就是 属于类属性 多个对象共同持有 你这个关闭等于其他对象也不能用了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询