プロが教えるわが家の防犯対策術!

こんにちは、やりたい事から説明させていただきます。

第一引数に5
第二引数に100
1×1,1×2,1×3,1×4,1×5・・・・1×100
2×1,2×2,2×3,2×4,2×5・・・・2×100
・・・・・・・・・・・・
5×1,5×2,5×3,5×4,5×5・・・・5×100
という計算をさせようと思っています。
計算結果は
------------------------------
12345・・・・・
246810・・・・・
------------------------------
といって形では出せたのですが、
答えが一桁のものの前には[001]
答えが二桁のものの前には[020]
といった形で0埋めしたいのです。
引数は毎回変わるので0埋めが[00001]などに
なる場合もあります。
どうしてもうまくいかないのです。
どなたか教えてください。お願いします。

A 回答 (3件)

・ 最大値の桁数に合わせて、すべて0詰めで表示するということでしょうか。



・ ポイントは次の2点となるでしょう。

1. 最大値の桁数mlenを求める。

    [解法] 10で割るループを使用して、mlenを求める。
        または、対数(log10)を利用する。

2. mlenになるように0詰めするには、System.out.printf(...)を使う。

  以下のコードを参考にしてみてください。

    [例]
System.out.printf("%d\n",123);
System.out.printf("%5d\n",123);
System.out.printf("%05d\n",123);

int mlen=5;
System.out.printf("%0"+mlen+"d\n",123);
    • good
    • 0
この回答へのお礼

お礼が遅くなりすみませんでした。
教えていただいたとおりに、書いたらうまく動きました。
本当にありがとうございました。

これからも、色々と教えて下さい。
ありがとうございました。

お礼日時:2008/05/29 19:52

こんにちは、



http://www.kab-studio.biz/Programing/JavaA2Z/Wor …

そのもの、ずばりなのでは。
    • good
    • 0

2さんの所にあるのと同じような内容ですが


int val = 5;
DecimalFormat exFormat = new DecimalFormat("000");
String strVal = exFormat.format(val);

こんな感じで可能でしょうか
これの結果は「005」になります。
無論変数valの値が10などになれば「010」のような形になります。

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

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