代码之家  ›  专栏  ›  技术社区  ›  DevanDev

Java:确定CSV文件中值的位置

  •  1
  • DevanDev  · 技术社区  · 11 年前

    我有一个CSV文件:对于80行80列的DOSE计算值,我编写了如下代码,以在CSV文件中找到最大值

    public double getMaxDose()
        {
            double dose=0.0;
            for(DetEl det_el:det_els)
            {
                if (det_el.getDose()>dose)
                    dose=det_el.getDose();
            }
            return dose;
        }
    

    我想在一个包含80行和列的文件中找到最大值的位置,我想知道最大值所在的行和列

    非常感谢任何提示

    1 回复  |  直到 11 年前
        1
  •  1
  •   bprasanna    11 年前

    您需要使用一个变量来获取最大值的位置,我们可以使用该位置值来获取行值和列值。

    以下程序可能会对逻辑有所启发:

    public class Dose {
       public static void main(String... args) {
         double[][] arr = new double[][] {
                        {0.0,1.0,3.0},
                        {2.0,55.0,8.0},
                        {98.0,9.0,67.0},
                        {7.0,-1.0,22.0}
                        };
         double dose=0.0;
         int maxPosition=0;
         int counter = 0;
         for(double[] tarr:arr)
         {
            for(double aval:tarr) {
               counter++;
               if (Double.compare(aval,dose) > 0) {
                  dose=aval;
                  maxPosition=counter;
               }
            }
         }
         System.out.println("Maximum value: "+dose);
         System.out.println("Max value position: "+maxPosition);
         System.out.println("Arr length: "+arr.length);
         System.out.println("Sub Arr length: "+arr[0].length);
         System.out.println("Row:"+((maxPosition/arr.length)+1) +
                            " Column:"+(maxPosition%arr[0].length==0?arr[0].length:maxPosition%arr[0].length));
       }
    }