当前位置: 首页 > 知识库问答 >
问题:

Java Telegram机器人将摄氏度转换为华氏度?

轩辕奕
2023-03-14

我试图让电报机器人响应用户的输入,并将C转换为F(反之亦然)。在最简单的层面上,这是我想要实现的目标的分解:

  1. 用户说“转换”
  2. 机器人说:“你想转换什么?”
  3. 用户说“摄氏”或“华氏”
  4. 如果“摄氏度”,机器人会响应,“请输入要转换的值。”

我尝试过一种使用布尔值的方法,每当捕获到感兴趣的命令(在本例中为“Convert”)时,它都会从“false”切换到“true”。一旦机器人做出响应,它就会切换回“false”。然而,这是相当有限的,我不确定是否准确:

public class Bot extends TelegramLongPollingBot {

    private static Boolean example = false;

    public void onUpdateReceived(Update update) {

        System.out.println(update.getMessage().getText());
        String command = update.getMessage().getText();
        SendMessage message = new SendMessage();

        // Conversation example

        if (command.contains("Convert")) {
            example = true;
            String ask = "What would you like to convert?";
            message.setText(String.valueOf(ask));
        }

        if (example == true && command.contains("Celsius")) {
            example = false;
            String answer = "Please enter value to convert.";
            message.setText(String.valueOf(answer));
        }
}

这就是我卡住的地方...我不确定这种方法是否有效,也不确定如何捕获用户输入的Double并使用它执行计算。

共有1个答案

施刚毅
2023-03-14

我建议你做一个基于事件的架构。您可以创建一个抽象类方法,其中包括一个方法,如果该方法本身被调用,则将调用该方法。完成此操作后,注册所有需要的方法(等式转换、摄氏度…)然后执行你想要的代码。这将减少所需的代码量,并使应用程序更具可扩展性。

 类似资料:
  • 我正试着写一个程序,把华氏温度转换成摄氏温度。用户输入华氏温度值,程序打印出摄氏温度值。用户应该输入212作为华氏温度值,程序应该计算100.0作为摄氏温度值,但是当我想要得到100.0时,我却得到0.0作为摄氏温度值 我不确定问题可能出在哪里。操作顺序是可能的吗? 将摄氏温度转换为华氏温度的公式为:< code>C = 5 / 9 (F - 32)

  • 问题内容: 我正在尝试将华氏度转换为摄氏温度。现在当我使用此方法时出现错误: 然后再次尝试给定 (5.0), 那么为什么工作? 问题答案: 值“ 5”和“ 9”是整数,并且将5/9视为,这是为什么您得到错误答案的原因。当两个整数相除时,答案是自动的。有必要将“5”和“ 9”之一写为5.0和9.0 更好的做法是始终将as 和or都写为and。 由于乘法和其他运算大多是递归的,因此该语句也可以正常工作

  • 你好,我对Java很陌生,所以我仍然很熟悉它。现在我正在做一个课堂实验室,我已经基本弄清楚了,但是有一个部分我们需要将摄氏度转换为华氏度。我有点难过,因为我们需要将第一次转换保留为int数据类型。 在我们的实验室中,我们有测试类,根据测试类,第一个转换(int数据类型)输入-40摄氏度,运行转换方法,结果应该是-40华氏度。 这实际上是我正在编写的一个名为Conversion的用户定义类。 下面是

  • 本文向大家介绍C#程序将摄氏温度转换为华氏温度,包括了C#程序将摄氏温度转换为华氏温度的使用技巧和注意事项,需要的朋友参考一下 首先,设置摄氏温度- 现在将其转换为华氏度: 您可以尝试运行以下代码将摄氏温度转换为华氏温度。 示例 输出结果

  • Python3 实例 以下实例演示了如何将摄氏温度转华氏温度:# -*- coding: UTF-8 -*- # Filename : test.py # author by : www.runoob.com # 用户输入摄氏温度 # 接收用户输入 celsius = float(input('输入摄氏温度: ')) # 计算华氏温度 fahrenheit = (celsius * 1.8) +

  • 我在Java从华氏温度转换到摄氏温度时遇到了问题。我刚刚开始学习Java,现在还在阅读书籍和教程。 对于我的第一个程序,我正在尝试根据本教程创建一个基本的温度计算器。 我想扩展它的功能,也包括华氏温度到摄氏温度的转换,以及基本摄氏温度到华氏温度的转换。 因此,我使用给出的示例代码完成了摄氏温度到华氏温度的部分,现在,使用相同的代码,经过大量的试验和错误后稍微修改,我正在尝试处理另一半。我让它在某种