首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >温度计算器

温度计算器
EN

Stack Overflow用户
提问于 2011-11-08 16:11:27
回答 2查看 526关注 0票数 0

嗨,我应该做一个温度计算器,它可以接受摄氏或周长,并将这个温度转换成另一个刻度。如果进入摄氏温度,它将转换为华氏温度,反之亦然。

使用说明:

为此,您必须设计并编写一种方法,将一个温度刻度表转换为另一个温度刻度,并返回结果。这个方法应该使用两个参数,一个用于转换温度值,另一个用于指示要转换到哪个温度标度。

应该对您的方法进行编码,以便其他类或应用程序可以访问它。此外,确保在您的方法中只有一个返回语句。

到目前为止,我已经创建了这段代码,但它显示了两个小错误,我不知道如何修复它们。

**错误1.常量值'67‘不能转换为'char’

错误2.常量值'70‘不能转换为'char'**

命名空间Lab7 {公共部分类frmTemperatureConverter :表单{ public frmTemperatureConverter() { InitializeComponent();}

代码语言:javascript
复制
    private void txtValueToConver_TextChanged(object sender, EventArgs e)
    {

    }

    private void btnConvert_Click(object sender, EventArgs e)
    {
        char chr;
        string str1;
        string str2;
        object[] objArray;
        if (this.txtConvert.Text != "")
        {
            double num1 = double.Parse(this.txtConvert.Text);
            if (this.radCelsius.Checked)
            {
                chr = 67;
                str1 = "farenheit";
                str2 = "celsius";
            }
            else
            {
                chr = 70;
                str1 = "celsius";
                str2 = "farenheit";
            }
            double num2 = Math.Round(this.ConvertTemperature(num1, chr), 2);
            this.lblResult.Text = string.Concat(new object[] { num1, " ", str1, " converts to ", num2, " ", str2 });
        }
        else
        {
            this.lblResult.Text = "Please enter a numeric temperature to convert.";
            this.txtConvert.Focus();
        }
    }

    public double ConvertTemperature(double inTemp, char toScale)
    {
        double num;
        if (toScale == 70)
        {
            num = inTemp * 1.80 + 32.00;
        }
        else
        {
            if (toScale == 67)
            {
                num = (inTemp - 32.00) / 1.80;
            }
            else
            {
                num = inTemp;
            }
        }
        return num;
    }

    private void btnClear_Click(object sender, EventArgs e)
    {
        this.txtConvert.Text = "";
        this.lblResult.Text = "";
        this.txtConvert.Focus();
        this.radCelsius.Checked = true;
    }

    private void btnExit_Click(object sender, EventArgs e)
    {
        base.Close();
    }
}

}

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-08 16:30:32

问题是67和70不是字符--它们是整数。

最简单的方法是使变量"chr“成为整数。那么您可能也应该更改它的名称--也许是"toScale“--与参数名称相同。

或者,您可以将变量"chr“保留为char,并使用'C‘代替67和'F’代替70。这种方法也使程序更容易理解。

票数 1
EN

Stack Overflow用户

发布于 2011-11-08 16:20:10

问题在于:

代码语言:javascript
复制
char chr;  
chr = 67;  
chr = 70;  

chr类型的chr列表,因此您需要将这个数字转换为char:

代码语言:javascript
复制
chr = (char)67;  
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8053495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档