我在這裏是新的,所以我不確定是否可以在同一篇文章中有兩個問題,所以如果我不應該告訴我(很好!),我會改變它在這裏提出一個問題,並在別處開始另一篇文章字符串外觀相同但不匹配;列表迭代器異常
第一個問題:
下面就5-8行我指的是兩個字符串,我需要比較,看看他們是相同的。我使用getUserInput()
方法來獲得終端用戶的響應,然後我繼續打印這兩個字符串,以便我可以直觀地檢查它們,並且它們也會一樣。但是,if
節應該在運行時運行,但永遠不會運行,然後else
節始終運行。
問題二:
在else
部分正下方,每當currentChump
的健康被降低到< 1
,我得到的,我從來沒見過,不知道什麼做的異常的塊關於。
這裏是我的代碼,然後在下面,我將粘貼例外:
for (Chump currentChump : chumpArray) {
System.out.println(" ");
String playerChoice = helper.getUserInput(
"Type the name of the Weapon that you wish to use.");
System.out.println(playerChoice);
System.out.println(currentChump.getWeakness().toLowerCase());
if (currentChump.getWeakness().toLowerCase() == playerChoice) {
chumpArray.remove(currentChump);
} // END IF
else {
while (PlayerIsAlive && currentChump.getHealth() > 0) {
int damage = (int) Math.floor((Math.random() * 6) + 1);
System.out.println(currentChump.getName() + " has "
+ currentChump.getHealth() + "health remaining.");
currentChump.setHealth(currentChump.getHealth() - damage);
System.out.println("You hit the enemy for "
+ damage + " points of damage.");
System.out.println(currentChump.getName() + " has "
+ currentChump.getHealth() + " health remaining.");
System.out.println(" ");
if (currentChump.getHealth() < 1) {
chumpArray.remove(currentChump);
} // END IF
else {
int damage2 = (int) Math.floor((Math.random() * 4) + 1);
player.setHealth(player.getHealth() - damage2);
if (player.getHealth() < 1) {
PlayerIsAlive = false;
} // END IF
} // END WHILE
} // END ELSE
} // END ELSE
} // END FOR
例外:
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
at java.util.AbstractList$Itr.next(AbstractList.java:343)
at ArenaGameCopy.startPlaying(ArenaGameCopy.java:87)
at ArenaGameCopy.main(ArenaGameCopy.java:168)
我很開心有人認爲我很棒。 :) –
一般來說,你應該[單獨提出另外的問題](http://meta.stackexchange.com/q/39223/193053)。 – Jeffrey
謝謝Jeffrey,我將來會這樣做的。 –