私は次のコードを簡素化したい:簡素化if文、Javaの
public static void main(String[] args) {
int c1 = Integer.parseInt(args[0]);
int c2 = Integer.parseInt(args[1]);
int c3 = Integer.parseInt(args[2]);
/* 1 */if (c2 - c1 == 0) {
/* 2 */if (c1 != c3) {
c3 += c1;
/* 4 */System.out.println(c3);
/* 5 */c3 *= c2;
/* 6 */}
}
/* 7 */if (c1 == c3)
/* 8 */if (c1 - c2 == 0)
/* 9 */{
c3 += c1;
/* 10 */System.out.println(c3);
/* 11 */c3 *= c1;
/* 12 */if (c1 < c2)
c2 += 7;
/* 13 */else
c2 += 5;
/* 14 */}
/* 15 */System.out.println(c1 + c2 + c3);
}
まずc2 - c1 == 0
は同じであることはc1 == c2
ようですc2 == c1
とc1 - c2 == 0
と同じです。私はif (c1 < c2)
を削除して、else文の内容を保持することができます。
結果:
public static void main(String[] args) {
int c1 = Integer.parseInt(args[0]);
int c2 = Integer.parseInt(args[1]);
int c3 = Integer.parseInt(args[2]);
/* 1 */if (c1 == c2) {
/* 2 */if (c1 != c3) {
c3 += c1;
/* 4 */System.out.println(c3);
/* 5 */c3 *= c2;
/* 6 */}
}
/* 7 */if (c1 == c3)
/* 8 */if (c1 == c2)
/* 9 */{
c3 += c1;
/* 10 */System.out.println(c3);
/* 11 */c3 *= c1;
c2 += 5;
/* 14 */}
System.out.println(c1 + c2 + c3);
}
私の質問は今、単純化することができるものでしょうか?インナーが外にあるなら、私はインフォーメーションを単純化することができます。どう思いますか?
好奇心が強い。これは何のため? –
* "あなたはどう思いますか?" *インデントと行番号のコメントでは、そのコードはほとんど読めなくなり、おそらくこの質問への回答が妨げられていると思います。コードを読み取り可能にします(通常のインデントと右端の数字を使用してください)、あなたはもっと運があるかもしれません。 –
@エヴァン:はい、宿題やテストのようです。 –