質問: 1; System.out.println("False"); // 結果の文字列に追記 } // 結果を返却 } return "aa"; } ``` メインメソッドから配列で受け取り別メソッドで処理をしようと思ったのですが、なかなかうまくいきません。 やりたいこと IPアドレス書式で書き書式どおりだったらTrue 書式ではなかったらfalseを返したいのです。 入力例 1.1.1.1 1.1.2.1 3.3.3.3 4.4.4.300 出力例 True True True false このようにしたいです。 入力の方はデバッグをして値が来ていることを確認しました。 問題なのは 0以上255以下じゃなかったらfに1を足す 出力をTrue Falseここだと思います・・・。 このロジックのヒントをいただけますか・・・
回答: 見るからにここがおかしいです。 > > > ``` > // 0以上255以下じゃなかったら > // 結果を1:Falseに上書く > if (y >= 0 != y <= 255) { > ``` > > 『0以上かつ255以下、ではない』を記述するなら `!(0 <= y && y <= 255)` です。 あるいは単に `y < 0 || 255 < y` でも良いでしょう。 また、isValidIPAddress みたいなメソッドを切り出した方が扱いやすいと思います。