• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:1を0001として出力する処理)

Javaプログラムで1を0001に変換する方法

このQ&Aのポイント
  • Javaのプログラムで、1を0001に変換する方法を教えてください。
  • 現在のプログラムでは、1をそのまま出力していますが、0001に変換する方法がわかりません。
  • どのような処理を行えば、1桁の数値を4桁の数値に変換できるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • wynnjp
  • ベストアンサー率71% (5/7)
回答No.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); }

KGM
質問者

お礼

すごく参考になりました^^ 拡張性に富んでいて、役に立っています。 書込みありがとうございます。

その他の回答 (2)

  • i2719
  • ベストアンサー率35% (11/31)
回答No.2

// 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);//

KGM
質問者

お礼

書込みありがとうございます。

回答No.1

最近の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を必要なだけ付けるというのでも良いと思います。

KGM
質問者

補足

数字型を文字列に変換して、処理ができるプログラムを作成しました。 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が発生するので、 初期化の仕方が間違っているのは、わかりました。 よろしければ、初期化の仕方についても教えていただけないでしょうか??

関連するQ&A