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 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题