【问题标题】:Printing Output to Top of Output Window将输出打印到输出窗口顶部
【发布时间】:2020-03-31 19:35:03
【问题描述】:

我试图让屏幕截图中显示的第 3 列和第 4 列出现在输出窗口的顶部,就像第 1 列和第 2 列一样。有任何想法吗?非常感谢您的帮助!

public class MultiplicationTable {

    public static void main(String[] args) {

        double conversion = 1.609 ;
        char line = '|';

        System.out.printf("Miles \t Kilometers %1c \t Kilometers \t Miles\n",line);
        //System.out.printf("%20c",line);

        for(int i = 01; i <= 10; ++i) {
             System.out.printf("%d\t %.3f\t    | %n", i, conversion * i);
        }
        for(int x = 20; x <= 65; x+=5) {
             System.out.printf("\t \t \t  %d\t\t %.3f\t %n", x, x / conversion);
            }
        }
}

【问题讨论】:

    标签: java netbeans computer-science


    【解决方案1】:

    您需要做的是一次连接所有字符串,然后将它们全部打印在一起而不是单独打印。您将不得不计算每列之间的空白,因为它会有所不同。

    【讨论】:

      【解决方案2】:

      您可以组合 2 个循环:

      for (int i = 1, x = 20; i <= 10; ++i, x+=5) {
          System.out.printf("%d\t %.3f\t    | ", i, conversion * i);
          System.out.printf("%d\t\t %.3f\t %n", x, x / conversion);
      }
      

      您可能需要进行一些初步计算以确定哪个更大:左侧或右侧的行数。

      输出:

      1 1.609 | 20 12.430 2 3.218 | 25 15.538 3 4.827 | 30 18.645 4 6.436 | 35 21.753 5 8.045 | 40 24.860 6 9.654 | 45 27.968 7 11.263 | 50 31.075 8 12.872 | 55 34.183 9 14.481 | 60 37.290 10 16.090 | 65 40.398

      【讨论】:

      • 完美,正是我想要做的。谢谢!
      • @P.Roten 由于此答案显然对您有所帮助,请考虑对其进行投票和/或接受它作为解决方案。