java - 字符串输入(仅输出所说的第一个单词)

标签 java oop java-7

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

所以命令是“大喊”

我希望能够输入“大喊(无论我在这里想要什么)”,它就会大喊出来。在 friend 的帮助下,我成功地完成了这项工作。但由于某种原因,它只会喊出输出的第一个单词。所以我无法输入句子,因为它只会说出句子的第一个单词。

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

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;

最佳答案

我不久前也做过类似的事情。您说您希望能够说“大喊(文本)”并让它输出任何文本。我的实现方式与您不同,但总体结果是相同的,但它可以适应您在这种情况下使用它的方式。这还假设您仅将此程序作为控制台项目运行。如果不更改扫描仪,将其用于输入文本,并将文本分配替换为
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));
}

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

关于java - 字符串输入(仅输出所说的第一个单词),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17402835/

相关文章:

c++ - 从父亲到 child 的动态类型转换

Java 7 bug Container.remove() 删除所有组件

java - Mac OS X 上 Java 7 中的慢速 Java2D 双线性插值

java - 使用 google_checks 时,Checkstyle Maven 插件执行不会因错误而失败

java - 比较器如何工作?

c# - c#中的友好类

c# - 在另一个对象中实例化一个对象? (C#)

java-7 - 我如何访问这个特定的类(class)?

java - Twitter4j:java.lang.IllegalStateException:访问 token 已可用

java - ImageIO 在读取期间为 60x45、0.5MB 抛出 IIOException - JPEG 图像文件