如何解决此扫描仪问题?我希望这四个操作有效,但是每当我键入它并单击Enter时,它都将不起作用

时间:2019-05-29 15:19:56

标签: java

我正在尝试创建一个盗版口袋妖怪游戏,但是此扫描仪无法正常工作。

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);
    }
}

1 个答案:

答案 0 :(得分:1)

您需要用AND运算符||替换逻辑OR运算符&&。使用您拥有的代码,只有if同时是所有四个功能时,ability子句才为真。您要检查该能力是否不是可用的能力。