有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在java中面临输入不匹配异常的一些问题

在我的代码中,我有两个字符串类型ArrayListarrarr2arrArrayList用于存储线对,这里intt表示用户在arr中输入的线对数。 第二个ArrayListarr2用于存储单行,integert2是用户存储在arr2中的单行数。之后,我只需打印arrarr2

import java.util.Scanner;

class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);

        ArrayList<String> arr = new ArrayList<>();
        ArrayList<String> arr2 = new ArrayList<>();
        int t;
        t = sc.nextInt();

        sc.nextLine();

        for(int i=0;i<t;i++){
            String first,second;
            first = sc.nextLine();
            second = sc.nextLine();

            arr.add(first);
            arr.add(second);
        }

         sc.nextInt();
        int t2;
        t2 = sc.nextInt();

        sc.nextLine();

        for(int i=0;i<t2;i++){
            String input;
            input = sc.nextLine();
            arr2.add(input);
        }

        for(String val: arr){
            System.out.println(val);
        }
          System.out.println();
        for(String val: arr2){
            System.out.println(val);
        }

    }
}

但是在输入所有输入之后,我在线程“main”java中得到了异常。util。输入不匹配异常

Sample Input-

3
ko te kader molla
tui rajakar tui rajakar
tumi ke ami ke
garo chakma bangali
jalo re jalo
agun jalo

2

jalo re jalo
ko te kader molla



Sample Output-

ko te kader molla
tui rajakar tui rajakar
tumi ke ami ke
garo chakma bangali
jalo re jalo
agun jalo

jalo re jalo
ko te kader molla



共 (1) 个答案

  1. # 1 楼答案

    你在第一个for-loop之后读了两遍sc.nextInt();。在这些方面:

    sc.nextInt();
    int t2;
    t2 = sc.nextInt();
    

    我相信您的错误来自于此,因为下一个值是int(在您的示例输入中是3),但是您尝试读取另一个int,但您提供了一个String

    如果这不是问题所在,请发布完整的堆栈跟踪