0

可能重复:
如何比较 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 系统将其打印出来以检查加密“i”是否与加密的 md5 匹配。它虽然运行它。但不会破坏它。

我在一个点 81dc9bdb52d04dc20036dbd8313ed055(即数字 1234)并且 md5kryp 一直是 81dc9bdb52d04dc20036dbd8313ed055。所以它确实匹配,但它会运行并且不会停止。所以断线不起作用

4

2 回答 2

3

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

使用equals.

于 2013-01-17T17:00:40.703 回答
1
md5kryp == md5(Integer.toString(i)

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

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

md5kryp.equals(md5(Integer.toString(i))
于 2013-01-17T17:03:08.190 回答