如何在列表数组中找到int元素

kh212irz  于 2021-06-30  发布在  Java
关注(0)|答案(4)|浏览(356)
List<double[]> x = new ArrayList<double[]>();
    x.add(new double[] { 1, 1.2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12  });

如何使用java代码在x列表中查找非整数类型(1.2)?

ztyzrc3y

ztyzrc3y1#

编辑:我刚刚理解了这个问题。下面是最新的答案

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);
    }
}
6gpjuf90

6gpjuf902#

我对java:p不太熟悉,但我觉得直接比较不好?

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

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

ergxz8rk

ergxz8rk3#

您可以尝试以下操作:

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

或者你可以用 if(Math.floor(i) > 0) 改变 String 停机坪。

xzv2uavs

xzv2uavs4#

试试这个:

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

更新(这也足够了):

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

相关问题