Java扫描仪输入读取

标签 java java.util.scanner

我有以下 3 行输入:

第 1 行:由正整数 m 和 n 组成,中间用空格分隔

第 2 行:由空格分隔的 m 个 int 列表

第 3 行及以后:由空格或换行符分隔的 n 个单词的列表

我无法将 m 和 n 之外的内容读入我的代码

我的代码:

Scanner input = new Scanner(System.in);
m = input.nextInt();
n = input.nextInt();
int[] lines = new int[m];
String[] words = new String[n];
input.nextLine();
for (int i = 0; i < m; i++) {
    lines[i] = input.nextInt();
}
for (int i = 0; i < n; i++) {
    words[i] = input.next();
}

如何将行和单词读入数组 在我调用第一个 nextLine() 并尝试读取数字后,我得到一个空指针异常

最佳答案

我认为以下是您正在寻找的内容。对您的程序做了一些小改动。您实际上并不需要 input.nextLine() 行。希望对您有帮助

输入示例

3 2
9 5 2
Good Luck

程序

Scanner input = new Scanner(System.in);

int m = input.nextInt();
int n= input.nextInt();

int[] lines = new int[m];
for (int i = 0; i < m; i++) {
    lines[i] = input.nextInt();
}

String[] words = new String[n];
for (int i = 0; i < n; i++) {
    words[i] = input.next();
}

关于Java扫描仪输入读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58654511/

相关文章:

java - 当垃圾收集器消除该对象时,该对象去了哪里?

java - 将扫描仪从静态传递到非静态并返回 float java

java - 如何让扫描仪读取预设变量

java - 代码不久前工作然后 "java.util.InputMismatchException"

java - 测试字符串的 hashCode

java - 是否可以向正在运行的 Drools session 添加新规则?

java - 调试慢速 Java 方法

java - 如何通过setter方法给Set<Object>设置值

java - 解释java数组中的数据

java - 为什么此代码中会出现 "No line found"异常?