java - 如何打印数组表?

标签 java arrays

我来这里是为了看看是否有人能够帮助解决这个问题。

我正在尝试打印一个看起来像这样的表格

             Month #1      Month #2
   Person 1  $1293         $128
   Person 2  $122          $1233

我已经完成了获取数字的所有其他步骤,等等,我只是停留在以表格形式获取正确输出的最后一步。

int[][] table = new int[people][month];

     // Load the table with values
    for (int i=0; i < table.length; i++){     
          for (int j=0; j < table[i].length; j++){
            table[i][j] = r.nextInt(20000-1000) + 1000;
           }
      }

      // Print the table
      System.out.println("\n\nSummer Internship Salary Information:");
      for (int i=0; i < table.length; i++) {
          for (int j=0; j < table[i].length; j++)                    
             System.out.print ("Person #" + (i+1) + "$" + table[i][j] + "\t");
         System.out.println();     

      } 

数组的初始大小由用户确定。以及向表格加载值的第一部分。可以忽略。

我真正遇到麻烦的部分是打印到表格中。从我现在拥有的代码来看,它的输出为

     person#1 $12312   person #1 $12312
     person#2 $12312   person #2 $12312

(请注意,这些数字不是正确的数字,它只是一个示例)

我怎样才能让它有一个看起来像这样的输出:

              Month#1   Month#2
    Person#1  $12312    $12312
    Person#2  $12312    $12312

并且我不允许在本练习中使用 call 方法或 JCF。

最佳答案

假设所有人的月份数相同:

System.out.println("\n\nSummer Internship Salary Information:");
for (int j=0; j < table[0].length; j++) {
    System.out.print("\tMonth #" + (j+1));
}
for (int i=0; i < table.length; i++) {
    System.out.print("\nPerson #" + (i+1));
    for (int j=0; j < table[i].length; j++) {
        System.out.print("\t$" + table[i][j]);
    }
}
System.out.println();

请注意,Person# 已从内部循环中取出,并且首先打印列标题。

还要注意,如果任何数字太宽(比制表位宽),则会破坏布局。您必须更聪明地解决这个问题(首先找到每列的最大宽度或截断值)

(编辑以将制表符和换行符放在更好的位置;更少的字符串并且没有尾随制表符)

关于java - 如何打印数组表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15193812/

相关文章:

Java:如何在一维数组中存储二维数组

javascript - 有没有更简单或更清晰的方法来在 Javascript 中的对象数组中查找对象?

java - 检测 android Activity 启动

java - 在ant中使用环境属性

java - 如何在Java中找到小于和大于之间的文本,然后去掉<>?

java - 为什么java中包中的类的 protected 成员可以在其他包类中访问?

java - 如何将 json 字段与字符串匹配 - java

javascript - 将 PHP 数组转换为 JavaScript

c# - 如何在C#中动态添加数组的索引值?

java - Hello World 示例 struts 时序图