我正在尝试创建一个实用程序类,以使用 java.util.扫描仪从标准控制台获取输入
package dbasics;
import java.util.*;
public class Utils {
public static int getNumericInput() {
System.out.println("Enter a integer ");
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
scanner.close();
return n;
}
public static int[] getNumericArrayInput(int n) {
//System.out.println("Enter "+n+" integers seperated by a whitespace ");
int[] numbers = new int[n];
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < n; i++) {
numbers[i] =scanner.nextInt();
}
scanner.close();
return numbers;
}
}
在另一个类中调用静态方法时,方法 getNumericInput()
工作正常,但是下面的方法获取数字数组输入(int n)
会导致异常。
package dbasics;
public class Demo {
public static void main(String[] args) {
int n = Utils.getNumericInput();
System.out.println("Number "+n);
int arr[] = Utils.getNumericArrayInput(n);
for(int i : arr) {
System.out.println(i);
}
}
}
运行此命令会导致以下异常
Enter a integer
5
Number 5
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at dbasics.Utils.getNumericArrayInput(Utils.java:21)
at dbasics.Demo.main(Demo.java:9)
我注意到的有趣的事情是,如果我注释掉第一个输入过程,数组输入工作正常。
在第一种方法中,不要关闭扫描仪
您正在关闭函数中的扫描仪,这导致了异常:请尝试:
import java.util.*;
class Utils {
public static int getNumericInput() {
System.out.println("Enter a integer ");
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
return n;
}
public static int[] getNumericArrayInput(int n) {
int[] numbers = new int[n];
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < n; i++) {
numbers[i] =scanner.nextInt();
}
scanner.close();
return numbers;
}
}
public class cn {
public static void main(String[] args) {
int n = Utils.getNumericInput();
System.out.println("Number "+n);
try{
int arr[] = Utils.getNumericArrayInput(n);
for(int i : arr) {
System.out.println(i);
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
欲了解更多信息,请阅读此链接
当扫描仪无赖时间在(while循环)主打印异常:
最近我正在学习Spring框架。所以我正在尝试检查依赖注入在Spring框架中的工作原理。因此,我创建了一个新的java项目并使用基于构造函数XML的配置练习依赖注入代码。运行我的项目后,我收到了这个错误...... 类路径资源[com/mir00r/beans.XML]的XML文档中的第24行无效;嵌套异常为组织。xml。萨克斯。SAXParseException;行号:24;列数:9;cvc复
我正在学习selenium并尝试运行以下代码,但它引发了异常。NoSuchFieldError:空字节数组。请帮助我理解这个简单的程序出了什么问题。 控制台: 异常线程"main"java.lang.NoSuchFieldError:EMPTY_BYTE_ARRAY
我正在看一张桌子。其中一列包含压缩(二进制)数据。我正在解压缩这些数据并存储在另一个RDD中。它给出了以下错误: 线程“main”组织中出现异常。阿帕奇。火花SparkException:作业因阶段失败而中止:阶段2.0中的任务0失败1次,最近的失败:阶段2.0中的任务0.0丢失(TID 2,localhost,executor driver):java。util。同时发生的ExecutionEx
我正在尝试在 Centos 7 上安装卡桑德拉 v3.0.2。我完全按照说明进行操作,我收到以下错误。只是为了重申我做了yum安装jna,版本是在4.0.0在/usr/share/java和卡桑德拉自由目录中 下面是Stacktrace
问题内容: 每当我运行此命令时,该函数就可以正常使用。当我选择洞穴时,消息会每隔2秒弹出一次,然后当它越过该部分时,就会出现错误: 我已经尝试过和,并且在该方法中使用时,出现了很多错误。当我在方法中使用时,它不接受我的输入。 当我在该方法中使用时,它不接受我的字符串输入,而直接进入另一个游戏,但是布尔值返回并且它无限地发送垃圾邮件“ Which Cave …”。 我已经阅读了错误报告,以及类似问题