1

我正在尝试编写一段代码,它会喊出我输入的任何内容。

所以命令是“大喊”

我希望能够输入'yell(我想要的任何东西)',它会大声喊出来。在朋友的帮助下,我设法完成了这项工作。但由于某种原因,它只会喊出输出的第一个单词。所以我不能输入句子,因为它只会说出句子的第一个单词。

这是一段代码,希望对你有所帮助。

case "npcyell":
    for (NPC n : World.getNPCs()) {
        if (n != null && Utils.getDistance(player, n) < 9) {
            String sentence = "";
            for (int i = 1; i < cmd.length; i++) {
                sentence = sentence + " " + cmd[i];
            }
            n.setNextForceTalk(new ForceTalk("[Alert] "
                    + Utils.getFormatedMessage(sentence)));
        }
    }
    return true;
4

1 回答 1

1

好吧,我不久前做了类似的事情。您说您希望能够说“yell(text)”并让它输出任何文本。我的实现方式与您不同,但总体结果是相同的,但它可以适应您在这种情况下使用它的方式。这也假设您仅将此程序作为控制台项目运行。如果不使用您用来输入文本的任何内容更改扫描仪并将文本分配替换为
text = textInputArea.getText().toString();
并将输出语句更改为System.out.println(text.getText().toString().substring(6,text.getText().toString().length() - 1));

Scanner s = new Scanner(System.in);
String text = s.nextLine();
if (text.startsWith("yell(") && text.endsWith(")")){
    System.out.println(text.substring(6,text.length() - 1));
}

我希望这对你有用。老实说,我希望这适用于您正在制作的程序。

于 2013-07-01T13:12:36.773 回答