我是新来的,所以我不确定在同一篇文章中是否可以有 2 个问题,所以如果我不应该只告诉我(很好!),我会在这里将其更改为一个问题在别处开始另一个帖子。
第一个问题:
下面的第 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)