- ベストアンサー
Javaプログラムで1を0001に変換する方法
- Javaのプログラムで、1を0001に変換する方法を教えてください。
- 現在のプログラムでは、1をそのまま出力していますが、0001に変換する方法がわかりません。
- どのような処理を行えば、1桁の数値を4桁の数値に変換できるのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
単に画面に出すだけなら既出の方法が楽ですが、将来4桁にした数字を画面表示以外に使うのであればNumberFormatを利用すると良いかもしれません。 以下ご参考まで。 for( int count = 0 ; count <= 10 ; count++) { NumberFormat nf = NumberFormat.getInstance(); nf.setGroupingUsed(false); nf.setMinimumIntegerDigits(4); System.out.println(nf.format(count); }
その他の回答 (2)
- i2719
- ベストアンサー率35% (11/31)
// System.out.println(count); System.out.print(count % 10000 / 1000);// System.out.print(count % 1000 / 100);// System.out.print(count % 100 / 10);// System.out.println(count % 10);//
お礼
書込みありがとうございます。
- seta_takahiro
- ベストアンサー率60% (23/38)
最近のJavaならprintfがあるので、 %04dを指定して出力すれば良いのではないでしょうか System.out.printf("%04d\n", count); みたいに。 http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/io/PrintStream.html#printf(java.lang.String,%20java.lang.Object...) java と printf もしくはformatterあたりで検索すればいくらでも情報が出ると思います。 printfが無い場合、 "0000" + count のようにして、先頭に十分なゼロがついたStringにして、 末尾の4文字分をsubstringメソッドで取得するとかいう方法もあると思います。 プログラミングの勉強なら、 とにかくString型に変換して、単純に長さを調べて、 for文などで先頭に0を必要なだけ付けるというのでも良いと思います。
補足
数字型を文字列に変換して、処理ができるプログラムを作成しました。 public class Test_file { public static void main(String args[]) { String header = new String("0000"); String work; for( int count = 1 ; count <= 9 ; count++) { work = Integer.toString(count); /*文字列型に変換*/ header = header.concat(work); /*0000に変換した文字列を付加*/ System.out.println(header.substring(1)); } } } で、実行すると、 0001 00012 000123 0001234 00012345 000123456 0001234567 00012345678 000123456789 と表示され、4桁のみ表示させる処理ができない状況です。 headerの中を初期化すれば、できるのではと思っているのですが header=null にすれば、参照先がなくなりNullPointExceptionが発生するので、 初期化の仕方が間違っているのは、わかりました。 よろしければ、初期化の仕方についても教えていただけないでしょうか??
お礼
すごく参考になりました^^ 拡張性に富んでいて、役に立っています。 書込みありがとうございます。