Java 如何解决此扫描仪问题?我希望这四个动作都能起作用,但每当我输入并单击enter时,这四个动作都不会起作用;行不通
我正试图创建一个盗版的口袋妖怪游戏,但这个扫描器不工作Java 如何解决此扫描仪问题?我希望这四个动作都能起作用,但每当我输入并单击enter时,这四个动作都不会起作用;行不通,java,Java,我正试图创建一个盗版的口袋妖怪游戏,但这个扫描器不工作 JavaBattle对象在驱动程序内部实例化。驱动程序中的所有东西都可以工作,但此代码不能。“旋风”、“龙卷风旋转”、“热力”和“气喘吁吁”都应该有效,但第一次尝试就不行了 我真的不知道该怎么办 import java.util.*; public class JavaBattle{ private int opponentHealth; public void fight(){ opponentHealt
JavaBattle
对象在驱动程序内部实例化。驱动程序中的所有东西都可以工作,但此代码不能。“旋风”、“龙卷风旋转”、“热力”和“气喘吁吁”都应该有效,但第一次尝试就不行了
我真的不知道该怎么办
import java.util.*;
public class JavaBattle{
private int opponentHealth;
public void fight(){
opponentHealth = 100;
Scanner attackchoice = new Scanner(System.in);
System.out.println("Attacks:\nCylcone\nTornado Spin\nThermal\nHuff 'n Puff");
System.out.println("Choose One:");
String ability = attackchoice.nextLine();
if(!ability.equals("Cyclone")||!ability.equals("Tornado
Spin")||!ability.equals("Thermal")||!ability.equals("Huff 'n Puff")){
System.out.println("Not available. Please Try Again.");
System.out.println("Attacks:\nCylcone\nTornado Spin\nThermal\nHuff 'n Puff");
System.out.println("Choose One: ");
ability = attackchoice.nextLine();
}
int randAttackDamage = (int)(Math.random()*16)+15;
int randOpponentAttack = (int)(Math.random()*21)+10;
System.out.println(ability + " was used." + "("+randAttackDamage+")");
opponentHealth = opponentHealth - randAttackDamage;
System.out.println("Opponents Current Health: " + opponentHealth);
}
}
您需要将逻辑OR运算符
|
替换为AND运算符&
。对于您拥有的代码,您的if
子句只有在ability
同时是所有四种能力时才为真。您要检查该能力是否不是任何可用的能力。如果(!value==1 | |!value==2)
将始终输入然后
块,因为该值不能一次等于所有这些值。如果(!value==1&&!value==2),则需要