繁体   English   中英

在第 16 行从二维数组输入中获取 InputMismatchException 并且我似乎无法弄清楚为什么

[英]Getting An InputMismatchException On Line 16 From A 2D Array Input And I Can't Seem To Figure Out Why

我正在编写一个程序,它接受网格输入并将其存储为二维数组。 但是,我不断收到 InputMismatchException 错误,我似乎无法找出原因。 这是代码:

import java.util.*;
public class Covid_Tracker {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        int n = in.nextInt();
        int m = in.nextInt();
        char[][] A = new char[n][m];

        for (int row = 0; row < n; row++) {
            for (int col = 0; col < m; col++) {
                A[row][col]= in.next().charAt(0);;
            }
        }

        int p = in.nextInt();
        for (int i = 0; i < p; i++){
            String firstName = in.next();
            int X = in.nextInt();
            int Y = in.nextInt();
        }

        int q = in.nextInt();
        for (int i = 0; i <= q; i++){
            String firstDirection = in.nextLine();
        }

        System.out.println("Alice: infected");

    }
}

这是错误:

线程“main”中的异常 java.util.InputMismatchException

at java.base/java.util.Scanner.throwFor(Scanner.java:939)

at java.base/java.util.Scanner.next(Scanner.java:1594)

at java.base/java.util.Scanner.nextInt(Scanner.java:2258)

at java.base/java.util.Scanner.nextInt(Scanner.java:2212)

at Assignment_1.main(Assignment_1.java:16)

输入示例如下:

5 4

XOOOO

欧氧

哦哦

哦哦

1 克里斯 4 1

3

克里斯东

克里斯北

克里斯北

(这是我仍在研究的部分,所以不在上面的代码中)然后程序会找出此人去过的地方,如果他们经过了 Covid 地区,程序会告诉我他们是否被感染或不。

您的输入不应有新行。

我使用了以下代码:

import java.util.*;
public class Covid_Tracker {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        int n = in.nextInt();
        int m = in.nextInt();
        char[][] A = new char[n][m];

        for (int row = 0; row < n; row++) {
            for (int col = 0; col < m; col++) {
                A[row][col]= in.next().charAt(0);;
            }
        }

        int p = in.nextInt();
        for (int i = 0; i < p; i++){
            String firstName = in.next();
            int X = in.nextInt();
            int Y = in.nextInt();
        }

        int q = in.nextInt();
        for (int i = 0; i <= q; i++){
            String firstDirection = in.nextLine();
        }

        System.out.println("Alice: infected");

    }
}

输入是

5 4
X O O O O
O O O X O
O O O O O
O O O O O
1 Chris 4 1
3
Chris east
Chris north
Chris north

输出是

Alice:infected

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM