0

なぜ機能しないのか、変数 a と b に CHAR データ型を使用できないのはなぜだろうか。ポイントは、数字(pr)の最初と最後の桁をどのように比較するかです。

String  a, b;
for (int i=100; i<1000;i++) {
    for (int j=100; j<1000;j++) {
        pr=j*i;
        a = String.valueOf(pr).substring(0, 1);
        b= String.valueOf(pr).substring(4, 5);

        if ((a==b) )  {
            System.out.println(pr);
        }
    }
} 
4

3 に答える 3

3

equals関数を使用する
a.equals(b)

大文字と小文字を区別しない場合は、使用します
a.equalsIgnoreCase(b)

于 2013-02-20T06:18:24.740 に答える
1

==これは、文字列比較に使用する JavaScript ではありません。

equals メソッドに進む

于 2013-02-20T06:22:40.833 に答える
1

Java では、演算子は==オブジェクトの ID を比較するため、同じ内容を持つ String 型のオブジェクトが 2 つある場合、==それらに対して false を返します。

String x = new String ("foo");
String y = new String ("bar");
if (x == y)
    System.out.println ("Equal");
else
    System.out.println ("Now equal"); // This will be printed

String オブジェクトを ID ではなくコンテンツで比較するには、次equals()のようなメソッドを使用する必要があります。

if (x.equals (y))
    System.out.println ("Equal"); // This will be printed
else
    System.out.println ("Now equal");

xisnullの場合はx.equals (y)スローされNullPointerException、is でない場合はx == y返され、 isの場合は返されることに注意してください。防ぐには、次のようなことをする必要があります。falseynulltrueynullNullPointerException

if (x == null && y == null || x != null && x.equals (y))
    System.out.println ("Equal"); // This will be printed
else
    System.out.println ("Now equal");
于 2013-02-20T06:24:37.643 に答える