-1

我有一个代表条形图的 2D StringArray。第一个维度表示列(或高度),第二个维度表示行(或宽度)。最后一个元素是图表的底部。

因此,如果数组的第二维中没有元素,则条形图会到达顶部。为了避免打印所有空图表,我实现了这个:

Arrays.toString(histogramm[i]).contains("x")

但它似乎检查整个数组是否包含 x,而不仅仅是第 2 维

//Print
     System.out.println();
     for (int i = 0; i < 50; i++){
        //only if there is any value, otherwise lots of empty space
        if(Arrays.toString(histogramm[i]).contains("x")){
                System.out.print("      ");
           for (int f = 0; f < 5; f++){
              System.out.print(histogramm[i][f] + " ");
           }
        }
        System.out.println();
     }

如何检查单个维度中的值,而不是整个图表?

4

1 回答 1

1

要在每个步骤中轻松找到 x 而无需转换 Arrays.toString() ,您最好使用 ArrayList 而不是 array[] 作为直方图。

List<List<String>> histogram = new ArrayList<ArrayList<String>>();

访问:直方图(x,y);

histogram.get(x).get(y);

搜索所有:对于任何现有的 x

boolean isFound = false;
// using classical for loop
for(int x = 0; x < histogram.size(); x++) {
   ylist = histogram.get(x);
   // using for each
   for (String yval: xlist) {
      if (yVal.equals("x")) {
         isFound = true;
      }
   }  
}

if (isFound) {
  // action for found
}
于 2013-01-14T17:20:36.790 回答