我遇到第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;
}
}
答案 0 :(得分:2)
你真的很接近,从摄氏度到华氏度的实际转换是正确的。
所以你的问题是你将两个doubles
,farenheit
和celsius
传递给你的方法celsiusToFarenheit(int celsius)
正如你从方法声明中看到的那样,它只需{ {1}}。从这个摄氏度值开始,你正在转换为华氏度。
例如:
int celsius
这会产生50的华氏度,这是预期的
答案 1 :(得分:0)
celsiusToFarenheit
方法需要一个integer
参数,并且您在第20行提供了两个double
参数。
我的建议是让你的摄氏变量与方法参数类型(int
)匹配,并在第20行提供celsius变量:
celsiusToFarenheit(celsius)
答案 2 :(得分:0)
有许多不必要的变量和其他你不需要的东西。我修改了你的代码,让它变得尽可能简单,享受:
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;
}
}
}