我目前正在制作一个具有多个房间的小型Java程序。 我对Java还是很陌生,因此代码越简单越好。
玩家必须能够在两个房间之间旅行,但只能通过“ go(direction)”命令来进行,例如:向西走。
我如何拆分此输入,以便当玩家输入“ go”作为输入的第一部分时可以调用我的旅行方法?
同时,需要注册一个方向,这样游戏才能知道下一个房间。 (拆分输入的第二部分)。
我们将不胜感激。
答案 0 :(得分:0)
听起来像您可以在Java中使用子字符串并以这种方式对命令进行操作:
String str= new String("quick brown fox jumps over the lazy dog");
System.out.println("Substring starting from index 15 and ending at 20:");
System.out.println(str.substring(15, 20));
输出:
Substring starting from index 15 and ending at 20:
jump
您还可以将正则表达式与split一起使用:
public static void main(String[] args) {
String str = "abdc124psdv456sdvos456dv568dfpbk0dd";
// split the array using a single digit, e.g 1,2,3...
String[] parts = str.split("[0-9]");
System.out.println(Arrays.toString(parts));
// split the array using a whole number, e.g 12,346,756
parts = str.split("[0-9]+");
System.out.println(Arrays.toString(parts));
}
答案 1 :(得分:0)
根据您的描述,假设输入的字符串为go west
go south
或go north
或go west
String input = "go west";
然后基于空格分隔符的分割输入字符串将返回String数组
String[] dir = input.split(" ");
dir[0] // will be `go`
dir[1] // will be direction `west`
然后使用dir[0]
方法比较equals()
,如果为true,则按方向调用该方法
if(dir[0].equals("go")){
//action
}