0

私が何か間違ったことをしているなら、誰か教えてもらえますか?

public class Jafntekkijafnt
{
    public static void main(String[] args)
    {
        int a = Integer.parseInt(args[0]);
        int b = Integer.parseInt(args[1]);
        int c = Integer.parseInt(args[2]);
        if (a == b) (b == c) (c == a)   System.out.println("equal");
        else                            System.out.println("not equal");
    }
}   

それはJavaプログラミング
です。すべてが等しい場合は等しい、そうでない場合は等しくない3つの整数を使用してプログラムを作成しようとしています。

私はその8行目を知っていますが、それを正しくする方法がわかりません。

4

6 に答える 6

10

if (a==b)(b==c)(c==a)使用する代わりに

if (a==b && b==c)

c==aifa==bb==choldを書く必要がないことに注意してください

于 2012-09-05T14:29:58.623 に答える
0

これを試して:

if(a == b && a == c && b == a && b == c && c == a && c == b){
...
}

早くて簡単。

于 2012-09-05T15:12:00.057 に答える
0

「if」構文に問題があります。そのはず

if (a == b && b == c && c == a) {
//...
}

ここではオブジェクトではなくプリミティブを使用していることに注意してください。int の代わりに Integer を使用していた場合、== はオブジェクトが同じかどうかをチェックし、値が同じかどうかはチェックしません。この場合、使用する必要があります

if (a.equals(b) && b.equals(c) && c.equals(a)) {
//...
}

&& は論理的な and を意味し、ここで説明されています

于 2012-09-05T14:30:29.517 に答える
0

括弧が少し間違っているため、AND (&&) 演算子を使用する必要があります。

于 2012-09-05T14:30:34.827 に答える
0

&&括弧の間で使用する必要があります()

(a==b) && (b==c) && (c==a)
于 2012-09-05T14:33:18.577 に答える
0

1 行の場合に厳密に必要というわけではありませんが、'if' ステートメントと 'else' ステートメントを括弧で囲む必要もあります。予期しない動作につながる可能性があるため、それらを使用しないことは悪い習慣です。私は、この問題で過去にやけどを負ったことを個人的に知っています。さらに、コードが読みやすくなり、非常に貴重です。

私のコードは以下の通りです:

public class ThreeIntTest {
public static void main(String[] args) {
    int a = Integer.parseInt(args[0]);
    int b = Integer.parseInt(args[1]);
    int c = Integer.parseInt(args[2]);
    if ((a == b) && (b == c)) {
        System.out.println("The three integers are equal.");
    } else {
        System.out.println("The three integers are not equal.");
    }
} }

論理演算子は、両方のANDが true と評価された&&場合に「if ステートメント」に伝えます。一方または両方が true でない場合、ステートメントは false になり、「else ステートメント」に直接移動します。a==bb==c

ここで使用されるのは、リレーションの推移性プロパティです。つまり、a = b かつ b = c の場合、a = c となります。これは、3 つの整数を比較する最も効果的な方法だと思います。

于 2012-09-05T15:02:51.457 に答える