如何在List数组中找到int元素

时间:2013-06-06 01:36:02

标签: java list

    List<double[]> x = new ArrayList<double[]>();
    x.add(new double[] { 1, 1.2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12  }); 

如何在x List中使用java代码find not integer type(1.2)?

4 个答案:

答案 0 :(得分:1)

试试这个:

for (double d : x.get(0)) {
System.out.println("Not Integer:" + ((int) (d * 10) / 10 != d));
}

更新(这也应该足够了):

System.out.println("Not Integer:" + ((int) d != d));

答案 1 :(得分:0)

EDIt:我刚刚理解了这个问题。所以这是更新的答案

    List<double[]> x = new ArrayList<double[]>();
    x.add(new double[] { 1, 1.2, 2.9, 3.9, 4.1, 5.5, 6, 7, 8, 9, 10, 11, 12  });

    List<Double> foundDoubles = new ArrayList<Double>();

    int i = 0;
    for(double d : x.get(0)) {
        i = (int)d;
        if(i != d) {
            foundDoubles.add(d);
        }
    }

    for(double d : foundDoubles) {
        System.out.println(d);
    }
}

答案 2 :(得分:0)

您可以尝试以下操作:

for(double i : x) {
   String total2 = String.valueOf(i);
   if(i.contains(".")){
     // ...
   }
}

或者您可以使用if(Math.floor(i) > 0)更改String aproarch。

答案 3 :(得分:0)

我是Java新手:P但我认为直接比较不会很好?

double a = 1;
double b = 1;
double c = a-b;
if (Math.abs(c) == 0) {...}

基本上将另一个原语设置为您要查找的值。从列表中减去该值。如果其中一个索引包含1.2而不是1.2-1.2 = 0?比你知道它在哪里?