Java扫描仪输入读取

我有以下 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() 后如何将行和单词读入数组,并尝试读取数字,我得到一个空指针异常


哈士奇WWW
浏览 51回答 2
2回答

冉冉说

我认为以下是您正在寻找的内容。对您的程序做了一些小改动。你真的不需要线路input.nextLine()。希望能帮助到你输入示例3 29 5 2Good 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++) {&nbsp; &nbsp; lines[i] = input.nextInt();}String[] words = new String[n];for (int i = 0; i < n; i++) {&nbsp; &nbsp; words[i] = input.next();}

慕后森

我让用户在这里一次插入一行输入。我不确定你在寻找什么,但这就是我所拥有的:程序:Scanner input = new Scanner(System.in);System.out.print("Enter line 1: ");int m = input.nextInt();int n = input.nextInt();System.out.println(m + " ints and " + n + " words");System.out.print("Enter line 2: ");int[] lines = new int[m];String[] words = new String[n];input.nextLine();for (int i = 0; i < m; i++) {&nbsp; &nbsp; lines[i] = input.nextInt();}System.out.print("Enter line 3: ");for (int i = 0; i < n; i++) {&nbsp; &nbsp; words[i] = input.next();}System.out.println(Arrays.toString(lines));System.out.println(Arrays.toString(words));安慰:Enter line 1: 3 43 ints and 4 wordsEnter line 2: 1 2 3Enter line 3: four words right here[1, 2, 3][four, words, right, here]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java