java下标越界如何解决

秋叶原の黑猫 秋叶原の黑猫 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
package bianma;

import java.io.*;
import java.util.HashMap;


public class P2 {
public static void main(String[] args) throws IOException {
HashMap<String,String> map = new HashMap<>();
BufferedReader br = new BufferedReader(new FileReader("paixu.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("paixu2.txt"));
String line;
while((line = br.readLine())!=null){
// String[] arr =new String[3];
arr = line.split("\\.");
// System.out.println(arr[0]);
// System.out.println(arr[1]);
map.put(arr[0],arr[1]);
// System.out.println(map);
}

for(String key : map.keySet()){
String value = map.get(key);
System.out.println(value);
line = key + "." + value;
bw.write(line);
bw.newLine();//写换行
}
bw.close();
br.close();
}
}

报错Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
报错行一直显示是“map.put(arr[0],arr[1])”这一行
如果在此行之前加上“System.out.println(arr[1]);”,报错的就是这行
把“map.put(arr[0],arr[1])”注释掉程序正常运行(没有结果)
请问这是什么问题呀


...全文

相关推荐

评论 17
收藏 已收藏
分享
返回顶部
秋叶原の黑猫
Java SE 62,620 成员 307,251 内容