java中来自两个不同循环的4列
我需要帮助将4个专栏连接在一起,我已经尝试了几个小时,没有更多的想法:java中来自两个不同循环的4列,java,multiple-columns,Java,Multiple Columns,我需要帮助将4个专栏连接在一起,我已经尝试了几个小时,没有更多的想法: Celsius Fahrenheit | Fahrenheit Celsius 40.0 104.0 | 120.0 48.89 39.0 102.2 | 110.0 43.33 ... 32.0 89.6 | 40.0 4.44 31.0 87.8 | 30.0 -1.11 这是我的密码: public static void main(String[] args) { for ( double x = 40;
Celsius Fahrenheit | Fahrenheit Celsius
40.0 104.0 | 120.0 48.89
39.0 102.2 | 110.0 43.33
...
32.0 89.6 | 40.0 4.44
31.0 87.8 | 30.0 -1.11
这是我的密码:
public static void main(String[] args) {
for ( double x = 40; x >= 31; x--){
System.out.printf("%10.1f%10.1f\n", x, celsiusToFahrenheit(x));
}
for ( double y = 120; y >= 30; y -= 10){
System.out.printf("%-10.1f%-5.1f\n", y, fahrenheitToCelsius(y));
}
}
public static double celsiusToFahrenheit(double celsius){
return (9.0/5) * celsius + 32;
}
public static double fahrenheitToCelsius(double fahrenheit){
return (5.0 / 9) * (fahrenheit - 32);
}
感谢您的帮助 您是否尝试过使用
ArrayList
组合?或者Vector
(如果需要线程安全)
基本上,首先构建输出,然后在完成后显示结果。您可以使用第一个循环构建字符串数组,然后用第二个循环打印它。大概
public static void main(String[] args) {
String[] arr = new String[40 - 30];
int i = 0;
for (double x = 40; x >= 31; x--) {
arr[i++] = String.format("%10.1f%10.1f", x,
celsiusToFahrenheit(x));
}
i = 0;
for (double y = 120; y >= 30; y -= 10) {
System.out.printf("%s\t %-10.1f%-5.1f%n", arr[i++], y,
fahrenheitToCelsius(y));
}
}
输出为
40.0 104.0 120.0 48.9
…我不确定通过组合这些值,您想要达到什么目的。试试这样的
for ( double x = 40, y=120; x >= 31; x--, y-=10){
System.out.printf("%10.1f%10.1f", x, celsiusToFahrenheit(x));
System.out.printf("%10.1f%10.1f\n", y, fahrenheitToCelsius(y));
}
这可能是组合结果的最简洁方式,请随意添加更稳健的循环终止条件将它们“连接”在一起是什么意思?您是如何回答如此模糊的问题的?也许我的假设是错误的,但是我猜Homedad希望两个循环的行输出在同一条线上,并且不要使用
Vector
,因为您很可能不需要它来保证线程安全。在我看来,列表
或集合
是一个更合适的建议。StringBuffer
(建议改为StringBuilder
)@bali182,代码写在静态main中,谁在乎呢?如果您想假设速度很重要,这很好,但不要忽略其他人可能关心线程安全的事实,即使您不关心!我不知道OP对Java有多了解,但很可能没有您对Java有那么多的经验。因此,如果他/她接受Vector/StringBuffer的想法,并开始在实际应用程序中广泛使用它,在实际应用程序中,性能可能会起作用,那么他/她可能会为他/她以后的自我带来一些严重的重构材料。不要把我的建议当作冒犯,这是一个建议,在我看来是完全合理的。非常感谢你,卡穆尔1982,它很简单,完全符合我的需要。