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

摄氏度到华氏度的转换——Java

华旭
2023-03-14

你好,我对Java很陌生,所以我仍然很熟悉它。现在我正在做一个课堂实验室,我已经基本弄清楚了,但是有一个部分我们需要将摄氏度转换为华氏度。我有点难过,因为我们需要将第一次转换保留为int数据类型。

在我们的实验室中,我们有测试类,根据测试类,第一个转换(int数据类型)输入-40摄氏度,运行转换方法,结果应该是-40华氏度。

这实际上是我正在编写的一个名为Conversion的用户定义类。

下面是我现在正在使用的代码片段:

public static int celsiusToFahrenheit(int temp)
{
    return (temp * (9/5)) + 32;
}

public static double celsiusToFahrenheit(double temp)
{
    return (temp * (9.0/5.0)) + 32.0;
}

第二部分工作正常,输入12.5摄氏度并返回54.5华氏度。

正如我提到的,我对Java还很陌生,所以如果您需要我提供任何其他信息,请告诉我。

我想问的问题是,对不起,关于如何编写返回语句,以便它给出正确的转换,有什么想法吗?

编辑:我已经改正了。我意识到int会给我一个四舍五入的值,但是我不知道如何绕过它。我意识到我不能在这里进行类型转换,所以我甚至没有尝试将它显式地转换回int。现在一切都好了:

public static int celsiusToFahrenheit(int temp)
{
    return (int) ((temp * (9.0/5.0)) + 32);
}

共有3个答案

鄂慈
2023-03-14

但是你没有写问题;)!

public static double celsiusToFahrenheit(int temp)
{
return (temp * (9.0/5)) + 32;
}

public static double celsiusToFahrenheit(double temp)
{
return (temp * (9.0/5.0)) + 32.0;
}
彭俊智
2023-03-14

下面是一个不使用类型强制转换的解决方案。
第一种方法中的 9/5 是整数除法,结果

-40 * 1 32 = 8

返回表达式重写为 (temp * 9 / 5 ) 32(删除 9/5 周围的括号。这将首先强制温度 * 9,然后除以 5。

翟宾实
2023-03-14

您的int版本在(9/5)部分失败。由于9和5都是整数,除法的结果也将是整数(-

由于我还不能添加注释,您应该注意到,没有强制转换的建议解决方案不会为所有输入生成相同的答案。

(int)(-1 * (9 / 5.0) + 32) // 30
-1 * 9 / 5  + 32 // 31

30更接近实际正确的结果,30.2即使您返回一个整数,您通常也应该尽可能晚地放置丢失精度的部分,以避免舍入错误等。

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

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

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

  • 我试图让电报机器人响应用户的输入,并将C转换为F(反之亦然)。在最简单的层面上,这是我想要实现的目标的分解: 用户说“转换” 机器人说:“你想转换什么?” 用户说“摄氏”或“华氏” 如果“摄氏度”,机器人会响应,“请输入要转换的值。” 我尝试过一种使用布尔值的方法,每当捕获到感兴趣的命令(在本例中为“Convert”)时,它都会从“false”切换到“true”。一旦机器人做出响应,它就会切换回“

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

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