Java 第二个循环的空指针
我有一个关于我的代码的问题。这是我的密码Java 第二个循环的空指针,java,nullpointerexception,hashmap,Java,Nullpointerexception,Hashmap,我有一个关于我的代码的问题。这是我的密码 Map <String, hewan> hwn = new HashMap<String,hewan>(); for (int j = 1 ; j<=bacaInginHewan; j++){ hewan hewan = new hewan(); String [] bacaJumlah =br.readLine().split(" "); namaHewan=bacaJumlah[0];
Map <String, hewan> hwn = new HashMap<String,hewan>();
for (int j = 1 ; j<=bacaInginHewan; j++){
hewan hewan = new hewan();
String [] bacaJumlah =br.readLine().split(" ");
namaHewan=bacaJumlah[0];
ingin = Integer.parseInt(bacaJumlah[1]);
if (hwn.containsKey(namaHewan)){
if (hwn.get(namaHewan).jenisOperasi.equals("vivipar")){
int jumlahAwal = hwn.get(namaHewan).jumlah;
int batasAkhir = ingin + jumlahAwal ;
hewan.setIngin(batasAkhir);
hewan.recvivipar(jumlahAwal);
System.out.println("butuh "+hewan.getIterasiVivi()+" siklus untuk "+batasAkhir+" "+namaHewan);
hewan.setJumlah(batasAkhir);
hwn.put(namaHewan, hewan);
} else if (hwn.get(namaHewan).jenisOperasi.equals("ovipar")){
int jumlahAwal = hwn.get(namaHewan).jumlah;
int batasAkhir = ingin + jumlahAwal ;
hewan.setIngin(batasAkhir);
hewan.recOvipar(jumlahAwal);
System.out.println("butuh "+hewan.getIterasiVivi()+" siklus untuk "+batasAkhir+" "+namaHewan);
hewan.setJumlah(batasAkhir);
hwn.put(namaHewan, hewan);
}
hwn.get(namaHewan).jenisOperasi
似乎是null
。尝试学习调试,以更轻松地解决此类问题。另一方面,如果(“vivipar.equals(hwn.get(namaHewan.jenisOperasi))尽了我最大的努力格式化了您的代码,但它不是有效的代码,而且假设右括号的位置不对。谢谢朋友,我尝试了调试。现在就得到答案。这与我添加到散列映射过程有关。
if (hwn.get(namaHewan).jenisOperasi.equals("vivipar"))