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"))