gavenyeah 2016-04-08 08:29 采纳率: 0%
浏览 4034
已结题

java中Scanner中close()的的使用方法?

 package hihocoder;
import java.util.Scanner;

public class CopyOfTrieTree {
    public static void main(String args[]) {
        CopyOfTrieTree m = new CopyOfTrieTree();
        m.getInput(true);
        System.out.println(2222);
        m.getInput(false);
    }

    public void getInput(boolean b) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        for (int i = 0; i < n; i++) {
            String s = in.next();
            if(b)
                System.out.println(s+0);
            else 
                System.out.println(s+1);
        }
        in.close();//为什么这里加上close(),程序就运行错误,不加就是对的
    }

}

如上程序,为什么加上scanner的关闭函数后,程序就运行错误,不加close函数,运行就是对的???

  • 写回答

5条回答

  • wangvic21 2019-08-08 18:40
    关注
     in.close()
    

    这句已经将System.in输入流关闭,再次调用getInput将会报错。

    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题