java中来自两个不同循环的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;

我需要帮助将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; 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,它很简单,完全符合我的需要。