为什么我的java代码不工作,因为它有一些hashmap实现

为什么我的java代码不工作,因为它有一些hashmap实现,java,string,split,hashmap,Java,String,Split,Hashmap,这是密码 公共静态无效字符串[]args{ 扫描仪s=新的扫描系统.in; int n=s.nextInt; int q=s.nextInt; HashMap=新的HashMap; 对于int i=0;i您正在空间上拆分字符串 例如,某些字符串不包含任何空格 index.html nodotsatall 因此,您的arr[]将只包含1个元素。因此,当您尝试访问arr[1]时,您将获得ArrayIndexOutOfBoundsException。当您使用空格或任何其他分隔符分割用户输入时,请确保

这是密码

公共静态无效字符串[]args{ 扫描仪s=新的扫描系统.in; int n=s.nextInt; int q=s.nextInt; HashMap=新的HashMap;
对于int i=0;i您正在空间上拆分字符串

例如,某些字符串不包含任何空格

index.html
nodotsatall

因此,您的arr[]将只包含1个元素。因此,当您尝试访问arr[1]时,您将获得ArrayIndexOutOfBoundsException。

当您使用空格或任何其他分隔符分割用户输入时,请确保用户输入了有效的输入,如果没有,请放弃该输入或采取适当的操作日志 修改代码:


提示:此代码返回什么?nodotsatall.split Ya有问题。现在解决了
public static void main(String[] args) {
    try (Scanner s = new Scanner(System.in)) {
        int n = s.nextInt();
        Map<String, String> map = new HashMap<>();
        for (int i = 0; i < n; i++) {
            String extentions = s.nextLine();
            String[] arr = extentions.split(" ");
            if (arr.length == 2)
                map.put(arr[0], arr[1]);
            else
                System.out.println("Invalid input" + extentions);//Or log or any other action
        }
    }
}