友情赠送:public class Test {
public static void main(String[] args){
System.out.println(变(1,3));
System.out.println(变(11,3));
System.out.println(变(111,3));
}
static String 变(int i,int length){
String s = String.valueOf(i);
if(s.length() > length)return null;
char[] result = new char[length];
int index = length-1;
for(int j=s.length()-1;j>=0;index--,j--)result[index] = s.charAt(j);
while(index>=0)result[index--]='0';
return new String(result);
}
}

解决方案 »

  1.   

    ^_^哈哈,我自己也写了一个,白天的时候本来就有现成的了,不过没关系自己动手!
    /**
     **************
     *字符串格式器*
     **************
     *提供各种格式的字符串转换
     *
     *@method    convertToShowNumber
     *
     *@author    李吉
     *@version   1.0
     *@since     2004/8/8
     *@copyright 2004 JerrySoft
     *
     *@create    李吉  2004/8/10
     *@edit
     */
    package DoubleBall;public class StringFormat {

    /**
     *将数字转换成显示用字符串
     *最简方法,只需指定数字,字符串长度和装填字符分别为2和'0'
     *@param  number 数字
     *@return String 显示用字符串
     */
    public static String convertToShowNumber(int number) {
    return convertToShowNumber(number,2);
    } /**
     *将数字转换成显示用字符串
     *次方法,需指定数字、字符串长度,装填字符为'0'
     *@param  number 数字
     *        length 字符串长度
     *@return String 显示用字符串
     */ public static String convertToShowNumber(int number,int strLength) {
    return convertToShowNumber(number,strLength,'0');
    }

    /**
     *将数字转换成显示用字符串
     *初始方法,需指定数字、字符串长度和装填字符
     *@param  number 数字
     *        length 字符串长度
     *        filler 装填字符
     *@return String 显示用字符串
     */
    public static String convertToShowNumber(int number,int strLength,char filler) {

    //数字长度
    int numberLength = String.valueOf(number).length();

    //如果数字长度大于字符串长度,返回Null
    if (numberLength > strLength) {
    return null;
    }

    //字符串转换成果
    String showNumber = "";

    //循环器
    int circulator = strLength - numberLength;

    //用装填字符补足空缺位数后连接数字
    for (int i=0;i<circulator;i++) {
    showNumber += filler;
    }
    showNumber += String.valueOf(number);

    //返回结果
    return showNumber;
    }
    }
      

  2.   

    java.text.NumberFormat NumberFormat nf = new DecimalFormat("000");
    int a=23;
    String b=nf.format(a);
    System.out.println(b);
      

  3.   

    强!!!等我回家好好研究一下!
     binny(骑个破车看夕阳) 我好爱妮:)
      

  4.   

    我研究过了,binny(骑个破车看夕阳) 的方法完全可行。
    不过我还是领会JAVA文档的精神,使用工厂方法而不是直接用构造函数:)/**
     **************
     *字符串格式器*
     **************
     *提供各种格式的字符串转换
     *
     *@method    convertToShowNumber
     *
     *@author    李吉
     *@version   1.1
     *@since     2004/8/8
     *@copyright 2004 JerrySoft
     *
     *@create    李吉  2004/8/10
     *@edit
     */
    package DoubleBall;import java.text.NumberFormat;
    import java.text.DecimalFormat;public class StringFormat {

    /**
     *将数字转换成显示用字符串
     *@param  number 数字
     *@return String 显示用字符串
     */
     public static String convertToShowNumber(int number) {
     
      //数字格式器
      NumberFormat lotteryNumberFormat = NumberFormat.getIntegerInstance();
     
      //格式:强制2位整数,少位补0
      lotteryNumberFormat.setMaximumIntegerDigits(2);
      lotteryNumberFormat.setMinimumIntegerDigits(2);
     
      //接受格式化成果的字符串
      String showNumber = null;
     
      //执行格式化,将格式化结果传给字符串
      showNumber = lotteryNumberFormat.format(number);
     
      //返回字符串
      return showNumber;
     }
    }