Java Scanner多次使用问题

您所在的位置:网站首页 javascanner是什么 Java Scanner多次使用问题

Java Scanner多次使用问题

2024-06-13 17:32| 来源: 网络整理| 查看: 265

/*

1、考虑元素唯一性问题:给出一个整数集合,假定这些整数存储在数组 A[1…n]中,确定 它们中是否存在两个相等的元素。请设计出一个有效算法来解决这个问题,你的算法的时间 复杂性是多少?

具体要求 输入:输入的第一行是一个正整数 m,表示测试例个数。接下来几行是 m 个测试例的数 据,每个测试例的数据由两行组成,其中第一行为一个正整数 n (n Scanner sc = new Scanner(System.in); System.out.println("请输入测试用例数:"); int m = sc.nextInt(); for(int i=0;i private int n; private int args[] = new int [n]; public getMessage(int n) { this.n = n; } public void inputArgs() { int args[] = new int[n]; Scanner sc = new Scanner(System.in); for(int i=0;i for (int i=0;i for(int i=0;i if(this.args[i]==this.args[j]) { return true; } } } return false; } }

编译这段程序后开始出现警告,但没有报错。 运行时却出现只能运行第一次方法内容,不能运行第二次。 运行结果

然后我开始想是什么问题导致只能运行一次完整过程。刚开始我以为是类不能实例化多次,于是我开始找资料,结果都没有发现有这样的说法。方法同样也是可以多次调用的,我就很奇怪,究竟是哪里出现了问题。

过了很久之后,我开始认真看警告的内容, 是scanner出现了问题,本着学术的精神,我开始查关于scanner类的文档。

最后发现是因为scanner被关闭了,才导致后面的数据无法读入。

于是我把类方法中的sc.close();删掉之后

public void inputArgs() { int args[] = new int[n]; Scanner sc = new Scanner(System.in); for(int i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3