我从返回的for循环中获取最后一个值,但我希望返回所有值。我的输出如下:
Celsius Fahrenheit | Fahrenheit Celsius
40.0 87.80 | 120.00 -1.11
39.0 87.80 | 110.00 -1.11
38.0 87.80 | 100.00 -1.11
37.0 87.80 | 90.00 -1.11
36.0 87.80 | 80.00 -1.11
35.0 87.80 | 70.00 -1.11
34.0 87.80 | 60.00 -1.11
33.0 87.80 | 50.00 -1.11
32.0 87.80 | 40.00 -1.11
31.0 87.80 | 30.00 -1.11
我需要其他值才能完成输出表。
public class TemperatureConverter {
public static void main(String[] args) {
double celsius = 0;
double fahrenheit = 0;
int v = 0;
double a = 0;
double b = 0;
double fahrenheitToCelsius = fahrenheitToCelsius(a);
double celsiusToFahrenheit = celsiusToFahrenheit(b);
System.out.println("Celsius Fahrenheit | Fahrenheit Celsius ");
celsius = 40;
fahrenheit = 120.0;
while (celsius >= 31.0) {
while (fahrenheit >= 30) {
System.out.printf("%-9.1f%6.2f | %9.2f%9.2f \n", celsius, celsiusToFahrenheit, fahrenheit, fahrenheitToCelsius);
celsius = celsius - 1;
fahrenheit = fahrenheit - 10;
}
}
celsiusToFahrenheit(celsius);
fahrenheitToCelsius(fahrenheit);
}
public static double celsiusToFahrenheit(double celsius) {
double fahrenheit = 0;
for (celsius = 40.0; celsius >= 31.0; celsius--) {
fahrenheit = ((9.0 / 5.0) * celsius + 32);
}
return fahrenheit;
}
public static double fahrenheitToCelsius(double fahrenheit) {
double celsius = 0;
for (fahrenheit = 120; fahrenheit >= 30; fahrenheit = fahrenheit - 10) {
celsius = ((5.0 / 9) * (fahrenheit - 32));
}
return celsius;
}
}
输出:
Celsius Fahrenheit | Fahrenheit Celsius
40.0 87.80 | 120.00 -1.11
39.0 87.80 | 110.00 -1.11
38.0 87.80 | 100.00 -1.11
37.0 87.80 | 90.00 -1.11
36.0 87.80 | 80.00 -1.11
35.0 87.80 | 70.00 -1.11
34.0 87.80 | 60.00 -1.11
33.0 87.80 | 50.00 -1.11
32.0 87.80 | 40.00 -1.11
31.0 87.80 | 30.00 -1.11
答案 0 :(得分:0)
我不确定我是否理解了这个问题,但我认为你不需要for
和celsiusToFahrenheit
方法中的fahrenheitToCelsius
循环,你&# 39;已经传过号码。
也许如果你改变这样的方法,它应该可以工作
public static double celsiusToFahrenheit (double celsius) {
double fahrenheit = 0;
fahrenheit = ((9.0 / 5.0) * celsius + 32);
return fahrenheit;
}
你必须在主循环中调用此方法!
答案 1 :(得分:0)
调用while内的方法
System.out.printf("% - 9.1f%6.2f |%9.2f%9.2f \ n",celsius,celsiusToFahrenheit(摄氏),fahrenheit,fahrenheitToCelsius(fahrenheit));
答案 2 :(得分:0)
以下是一些示例代码。注意嵌套方法调用。你不应该在转换方法中循环。
public class TemperatureConverter {
public static double celsiusToFahrenheit(double celsius) {
return 9.0 / 5 * celsius + 32;
}
public static double fahrenheitToCelsius(double fahrenheit) {
return 5.0 / 9 * (fahrenheit - 32));
}
public static void main(String[] args) {
double celsius = 40;
double fahrenheit = 120.0;
System.out.println("Celsius Fahrenheit\t| Fahrenheit Celsius ");
while (celsius > 30) {
System.out.printf("%-10.1f%6.2f\t|%8.2f%12.2f\n", celsius,
celsiusToFahrenheit(celsius), fahrenheit, fahrenheitToCelsius(fahrenheit));
celsius--;
fahrenheit -= 10;
}
}
}
打印:
Celsius Fahrenheit | Fahrenheit Celsius
40.0 104.00 | 120.00 48.89
39.0 102.20 | 110.00 43.33
38.0 100.40 | 100.00 37.78
37.0 98.60 | 90.00 32.22
36.0 96.80 | 80.00 26.67
35.0 95.00 | 70.00 21.11
34.0 93.20 | 60.00 15.56
33.0 91.40 | 50.00 10.00
32.0 89.60 | 40.00 4.44
31.0 87.80 | 30.00 -1.11