为什么我的while循环没有打破任何可以帮助我的人?

时间:2013-01-17 17:00:13

标签: java while-loop md5

  

可能重复:
  How do I compare strings in Java?

我检查互联网和谷歌有关如何打破一个while循环并再次检查它但似乎没有打破。我失去了希望再试试

我运行此代码

  int i = 0;

    while( i <= 1236){

        System.out.println(i + " svarer til: "+md5(Integer.toString(i)));

        if(md5kryp == md5(Integer.toString(i))){


            System.out.println("Den dekryperet kode er: " + i);
            System.out.println("Den svare til den indtastede " +md5kryp);
            break;
        }

        i++;
    }

我系统打印出来检查加密“i”是否与加密的md5匹配。它运行它。但不会打破它。

我处于81dc9bdb52d04dc20036dbd8313ed055(即数字1234),而md5kryp始终是81dc9bdb52d04dc20036dbd8313ed055。所以它匹配,但它运行虽然它并没有停止。所以断线不起作用

2 个答案:

答案 0 :(得分:3)

md5kryp == md5(Integer.toString(i))

使用equals

答案 1 :(得分:1)

md5kryp == md5(Integer.toString(i)

你不能像这样比较Java中的字符串。 这个比较会比较,如果这是同一个对象(伙计们,如果我错了,请纠正我)。

作为比较,您真正需要的是String-Class中的方法:

md5kryp.equals(md5(Integer.toString(i))