在JAVA中如何检查两个ArrayList中的多个数字

时间:2015-06-09 20:05:18

标签: java arraylist

尝试检查数字是否为二进制 - 因此用户将键入一个整数&将验证这是否是二进制。我的代码如下&它始终返回False,因此if语句不起作用 - 也尝试转换为字符串但得到相同的结果 - 谢谢

public static void main(String[] args) {

int aa = 5101012;

ArrayList dd = new ArrayList();

while(aa>0){
    dd.add(aa%10);
    aa = aa/10;}

ArrayList dd1 = new ArrayList();

dd1.add(2);
dd1.add(3);
dd1.add(4);
dd1.add(5);
dd1.add(6);
dd1.add(7);
dd1.add(8);
dd1.add(9);

System.out.println(dd1.contains(dd));}}

2 个答案:

答案 0 :(得分:0)

*************************** REGEX短版***************** **************************************** 如果您想缩短代码,可以使用正则表达式:

public static void main(String[] args) {

    int aa = 10101;
    String test = "" + aa;
    System.out.println("" + !test.matches(".*[23456789].*"));

}

这将为true返回10101,为false返回5101012

************************************长版********* ************************************************ 如果要查看哪些数字是二进制数字而哪些数字不是二进制数,则应单独检查每个元素:

public static void main(String[] args) {

    int aa = 5101012;

    ArrayList<Integer> dd = new ArrayList<Integer>();

    while(aa>0){
        dd.add(aa%10);
        aa = aa/10;}

    ArrayList<Integer> dd1 = new ArrayList<Integer>();

    dd1.add(2);
    dd1.add(3);
    dd1.add(4);
    dd1.add(5);
    dd1.add(6);
    dd1.add(7);
    dd1.add(8);
    dd1.add(9);

    for(Integer a : dd)
    {
        System.out.println(dd1.contains(a));
    }
}

您试图查看dd1是否包含对象的arraylist,它不是单独包含对象(Integer)。

答案 1 :(得分:0)

一种方式(不是最优雅)是将其转换为字符串,然后执行:

<dict>
    <key>name</key>
    <string>Call it something</string>        <!-- USE YOUR NAME -->
    <key>scope</key>
    <string>variable.language.python</string> <!-- USE YOUR SCOPE -->
    <key>settings>/key>
    <dict>
        <key>foreground</key>
        <string>#000000</string>              <!- PROVIDE HEX RGB COLOR -->
    </dict>
</dict>