Java 如何根据用户输入执行不同的操作

Java 如何根据用户输入执行不同的操作,java,string,Java,String,我正在尝试制作一个非常简单的游戏(即使没有界面)。你应该输入你想做什么动作(攻击或阻挡),但我没有时间去理解怎么做。我希望它是这样的:如果用户类型攻击的地方是一个行动的过程,它是块比另一个,是不是其他的东西,我希望它回到问什么做 import java.util.Scanner; public class Game { public static void main(String[] args){ int hp = 10; //Not used yet

我正在尝试制作一个非常简单的游戏(即使没有界面)。你应该输入你想做什么动作(攻击或阻挡),但我没有时间去理解怎么做。我希望它是这样的:如果用户类型攻击的地方是一个行动的过程,它是块比另一个,是不是其他的东西,我希望它回到问什么做

import java.util.Scanner;
public class Game {
    public static void main(String[] args){ 
        int hp = 10; //Not used yet
        int enemy_hp = 10;
        String attack;
        String block;
    int enemy_action = (int) (Math.random() * 1); //Not used yet
    int your_block_chance1 = (int) (Math.random() * 1);//Not used yet
    Scanner userInput = new Scanner (System.in);
    System.out.println("It is your turn, attack or try to block");
    String action = userInput.next(); 
    System.out.println(action); 
    if (action.equals(attack)){
        System.out.print("You attacked your enemy and ");
        int enemy_block_chance1 = (int) (Math.random() * 3);
        if (enemy_block_chance1 == 1) {
            System.out.print("he blocked it");
        }
        else if (enemy_block_chance1 != 1){
            enemy_hp = enemy_hp - 2;
            System.out.print("managed to hit, now his hp is " +enemy_hp);
        }
    }
    else if (action.equals(block)){

    }
    }
}
更改:

if (action.equals(attack))
致:

(并对块动作检查执行相同操作)

目前,您的字符串攻击尚未设置为等于“攻击”,并且由于尚未初始化,因此它只是一个空字符串

注意:您还应该用try/catch块包围代码,以实现异常处理(例如,当用户输入整数时,您的程序不会崩溃)

if (action.equals("attack"))