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 に答える