アプリ版:「スタンプのみでお礼する」機能のリリースについて

コンソール画面から入力をする方法を調べた所、以下のようにすればよいことが解かりました。

BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
String a = input.readLine();

IPアドレスを入力したいので、IPアドレス以外の形式で入力された場合に
エラーを表示して再入力をさせるようにしたいです。
入力された文字列がIPアドレスかどうかのチェックをどのようにすればよいでしょうか?

A 回答 (3件)

小数点で分割したい場合には


String[] b = a.split("\\.");
としてください。
    • good
    • 0
この回答へのお礼

皆様回答ありがとうございます.

皆様のアドバイスのおかげで問題を解決することが
出来ました.

ありがとうございました.

お礼日時:2010/01/16 17:05

InetAddress.getByName(a);



を実行したときに例外が投げられるかどうかをチェックするのがお手軽だと思います。

参考URL:http://java.sun.com/javase/ja/6/docs/ja/api/java …
    • good
    • 0

1.splitメソッドを使用し、"."で分ける。


2.分けた配列の長さが4以外であればエラー
3.分けた配列のそれぞれの要素が数値変換できなければエラー
4.分けた配列のそれぞれの要素が0~255の範囲内になければエラー
※ただしIPv4に限る。

を順にやれ。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

splitメソッドを使って試してみました。
String[] b = a.split(".");
というようにして分割させようとしてみましたが,うまく分割しません。
String[] b = a.split(":");
としたところうまく分割してくれました。

.で分割させたいのですがなぜか上手くいきません。
原因が分からないのですがご存知でしょうか?

お礼日時:2010/01/07 01:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!