如何使用“ sendMessage()”代码发送双打?

时间:2019-05-04 07:25:17

标签: java discord-jda

我正在尝试为不和谐的机器人发出计算器命令!

在这段代码中,我尝试将用户输入转换为双精度(例如,用户输入:*计算1 +1)并发送一条包含双精度值的消息! 但是,这没有用,所以我尝试将双精度转换回字符串!

public void onMessageReceived(MessageReceivedEvent event) {
                Message message = event.getMessage();
            String content = message.getContentRaw();
            MessageChannel channel;
            channel = event.getChannel();                       
                 String[] args = content.split(" ");



if (args[0].equalsIgnoreCase("!calculate")) {
                if (args.length == 1) {
                    channel.sendMessage("error message").queue();
                }else  {
                  String input = content;
                  input = input.replace(args[0], "");
                  double result = Double.parseDouble(text);
                  channel.sendMessage(result).queue();
                }
                }
}

在我将double.toString放入结果和输出之间之后,因为它不会打印出double。

              String output = Double.toString(result);
              channel.sendMessage(output).queue();

第一次尝试没有输出! 第二个有一个“ numberformatexception”! 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

如果遇到数字格式异常,则可能正在尝试转换包含其他字符的字符串。在将“输出”转换为双精度之前,尝试打印它,然后看一下它的外观。