尝试分别获取每一行的字符,但无论我尝试说什么 显示java.lang.NullPointerException。
txt文件中的字符串有一些空格。(“”)
while ((line = scn.readLine()) != null){
line2[a] = line;
for (int l = 0; l < x; l++){
chars[a][l] = new Character(line.charAt(l));
}
}
txt文件是:
###############################
# # # # #
# #### # #### #### # ######## #
# # # # # # # #
# # #### # ##### # ######## # #
# # # # # # # # #
# # # ###### # #### ##### # # #
# # # # # # # # # # # #
# # # # # ##### # # # # # #
# ### # # # # * # # # # # ### #
# # # # # ## ## # # # # # #
### # # # # # # # # # # # ###
# # # # ## # # ## # # # # #
# ### # # # # # # # # # # # #
# # # #### # # # ## # # # #
# # # # # ##### ####### #
# # # ###### #
# ####### ##################
# #
##############-################
我修好了,但结果仍然不合适。 多数民众赞成我得到的:
####################
# # #
# ######## # ##### #
# # # # # #
# # #### ##### ### #
# # # # #
# # ########## # #
##### # # #
# # ####### ## #
# ##### # # #
# # ####### # # #
# # # # ### # #
### # ### # #
# ##### ######## #
# # # #* # -
# # # # # ###### # #
# # # ### # # #
# ##### #### # #
# ####### # # #
##### ## # #
答案 0 :(得分:1)
你的while循环在到达文件末尾时没有测试,所以line变为null:
while((line= scn.readLine())!=null){
line2[a]=line;
for(int l=0;l<line.length;l++){
chars[a][l]=new Character(line.charAt(l));
}
}
请不要提出有关NullPointerExceptions为何与特定代码一起发生的问题或鼓励问题。有成千上万的这些工件污染了stackoverflow,它们几乎没有任何价值。
答案 1 :(得分:1)
以下是可能导致来自给定代码段的NullPointer的事情:
scn
未初始化 - 请确保您已完成此操作。line2
未初始化chars[a]
未初始化。
尝试修复这些,你应该好好去。