2015-10-14 44 views
-3

我有一个arrayList,我想列出它在一个特殊的形状。这些数字存在于数据列表和数组列表中,共有20次3次。我想列出我的arrayList在一个特殊的形状

+--------+--------+ 
| Number | Occurs | 
+--------+--------+ 
|  20|  3| 
+--------+--------+ 
|  15|  2| 
+--------+--------+ 
|  12|  3| 
+--------+--------+ 
|  4|  1| 
+--------+--------+ 
|  3|  3| 
+--------+--------+ 

我想要的上述形状。我无法顺利完成,但盒子站在另一个盒子的底部,这是我的方法。

public void list() { 

    System.out.println("+-------+-------+"); 
    System.out.println("+ number+ occurs+"); 
    for (int i = 0; i < arry.size(); i++) { 
     if (arry.get(i) > 0) { 
      System.out.println("+-------+-------+"); 
      fmt = new Formatter(); 
      fmt.format("|%7d||%7d|", i,arry.get(i)); 
      System.out.println(fmt); 
     } 
    } 
    System.out.println("+-------+-------+"); 
} 
+0

我不太明白你的问题,你能发布错误的结果吗? – Thomas

+1

我不愿意花时间帮助您解决格式问题。拿一把铲子开始挖掘。 – duffymo

+4

您似乎只是打印索引和值而不是值和事件。您应该首先将列表中的数据收集到频率图中,然后打印出来。 – RealSkeptic

回答

1

下面的答案修复了表格的格式。它不涉及阵列中出现的计算(因为这不是问题)

System.out.println("+-------+-------+"); 
System.out.println("| number| occurs|"); 
for (int i = 0; i < arry.size(); i++) { 
    if (arry.get(i) > 0) { 
     System.out.println("+-------+-------+"); 
     System.out.println(String.format("|%7d|%7d|", i,arry.get(i))); 
    } 
} 
System.out.println("+-------+-------+"); 
相关问题