我在第 20 行有问题,我希望有人能指出我做错了什么的正确方向。 我要做的就是显示摄氏温度以及它们各自的华氏温度。 摄氏度从 0 到 100 递增,华氏度从 32 - 212 递增。 这还远未完成,我知道它仍然是一团糟。 我已经得到了要显示的数据,但它在一列中,而不是它应该在两列中。
感谢您对此的想法和投入。
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package celsiustofarenheittable;
/**
*
* @author these
*/
public class CelsiusToFarenheitTable {
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
double celsiusToFarenheit,farenheit,celsius = 0;
celsiusToFarenheit = celsiusToFarenheit(farenheit,celsius); // HERE!
System.out.printf("Celsius t Farenheit n", celsius,farenheit);
{
for (celsius = 0; celsius <= 100; celsius += 10)
{
if (celsius <= 100 )
System.out.println(celsius);
}
while (farenheit <= 100){
System.out.println(farenheit * 1.8 + 32);
farenheit = farenheit + 10;
}
}
}
public static double celsiusToFarenheit(int celsius)
{
double farenheit;
farenheit = math.round(celsius * 1.8 + 32);
return farenheit;
}
}
你真的很接近,从摄氏度到华氏度的实际转换是正确的。
所以你的问题是你正在传递两个doubles
,farenheit
和celsius
到你的方法celsiusToFarenheit(int celsius)
从方法声明中可以看出,它只需要int celsius
。从这个摄氏度值,您正在转换为华氏度。
例如:
int celsius = 10;
double fahrenheit = celsiusToFarenheit(celsius);
这会产生 50 华氏度,这是预期的
celsiusToFarenheit
方法需要一个integer
参数,您在第 20 行中提供了两个double
参数。
我的建议是使您的摄氏度变量与方法参数类型(int
(匹配,并在第 20 行中仅提供摄氏度变量:
celsiusToFarenheit(celsius)
<</div>
div class="one_answers"> 有很多不必要的变量和其他你并不真正需要的东西。我已经修改了您的代码,使其尽可能简单,享受:
public class CelsiusToFarenheitTable {
public static void main(String[] args)
{
double fahrenheit = 32.0, celsius = 0.0;
System.out.printf("Celsius t Farenheit n", celsius,fahrenheit);
for (celsius = 10; celsius <=100; celsius+=10)
{
System.out.print(celsius);
System.out.print("t");
System.out.println(celsius * 1.8 + 32);
fahrenheit = fahrenheit + 10;
}
}
}