问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
package Work;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class telephone {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个大于0小于等于100的整数:");
int num= sc.nextInt();
String[][] eng=new String[num][];
System.out.println("请输入"+num+"行11位的字符");
for(int i=0;i<num;i++){
for(int j=0;j<11;j++){
eng[i][j]=sc.nextLine();
}
}
Map map=new HashMap();
map.put("a","2");map.put("b","2");map.put("c","2");
map.put("f","3");map.put("e","3");map.put("d","3");
map.put("g","4");map.put("h","4");map.put("i","4");
map.put("j","5");map.put("k","5");map.put("l","5");
map.put("m","6");map.put("n","6");map.put("o","6");
map.put("p","7");map.put("q","7");map.put("r","7");map.put("s","7");
map.put("t","8");map.put("u","8");map.put("v","8");
map.put("w","9");map.put("x","9");map.put("y","9");map.put("z","9");
System.out.println("这些字符对应的电话号码为:");
for(int i=0;i<num;i++){
for(int j=0;j<11;j++){
System.out.print(map.get(eng[i][j]));
}
System.out.println("\n");
}
}
}
运行结果及报错内容
Exception in thread "main" java.lang.NullPointerException: Cannot store to object array because "eng[i]" is null
at Work.telephone.main(telephone.java:17)
请问这是为什么,该怎么改?