公司要为1000个员工编号,编号是1--1000,现在要求员工的每个编号都以"A"开头,后面是数字,保证是10位,不够的用0补上,比如:A000000001,A000000002,要求生成每个员工的编号,最后输出到控制台上,请问该如何实现?

解决方案 »

  1.   

    其实就是1-1000之间的数字如果位数不足的话,需要补0而已
    第一种方案:做判定,
    如果是个位数,则前缀是A00000000
    如果是两位数,则前缀是A0000000
    如果是三位数,则前缀是A000000
    如果是1000,  则前缀是A00000第2中方案:
    将数字转化为字符串,判定长度,然后根据长度的差距来补0
      

  2.   


    String str = String.format("%09d", 100);  System.out.println("A"+str)
      

  3.   


    String strInt = "";
    for(int i = 1;i <= 1000;i++){
    strInt = String.format("%09d", i);  
    System.out.println("A"+strInt);
    }
      

  4.   

    使用SQL语句:
    select concat('a',lpad(编号,10,"1")) from 员工表。
    要打印控制台的话,只需要查出来打印一下就行了。要更改的话下面这条:
    update 员工表 set 编号=concat('a',lpad(编号,10,"1"));
      

  5.   

    上面总共11位,要10为的话,把填充函数lpad()里面改为9
      

  6.   

    StringBuilder sb = new StringBuilder();
            List<String> list = new ArrayList<String>();
    for(int i=1;i<=1000;i++) {
      String s=i+"";
      for(int j=0;j<9-s.length();j++) {
      sb.append(0);
       }
      s="A"+sb.toString()+s;
      list.add(s);
      sb.delete(0, sb.length());
    }

    for(String s: list) {
    System.out.println(s);
    }
      

  7.   

    strInt = String.format("%09d", i); 
    是什么表达式啊
      

  8.   

            /*
             * id 你需要传入的编号 可以任意的 八位以内 ,并不需要限制在  1- 1000
            */
    public String getResult(String id){

    String temp = "00000000" + id;

    temp = temp.substring(temp.length()-9, temp.length());

    return  "A"+temp;

    }
      

  9.   


           
            for(int i = 1;i <= 1000;i++){ 
                System.out.println(String.format("A%09d", i));
            }
      

  10.   

    public static void main(String[] args) {

    String persionId="1";
    int temp=Integer.parseInt(persionId);
    for(temp=1;temp<=1000;temp++){

    if(temp<10){//1
    persionId="A00000000"+temp;
    }else if(temp<100){//2
    persionId="A0000000"+temp;
    }else if(temp<1000){//3
    persionId="A000000"+temp;
    }else if(temp==1000){//4
    persionId="A00000"+temp;
    }
    System.out.println("当前编号:"+persionId);
    }
    }
      

  11.   

    for(int i=1;i<=1000;i++){
    if(i<10){
    System.out.println("A00000000"+i);
    }if(i<100 && i>=10){
    System.out.println("A0000000"+i);
    }
    if(i<1000 && i>=100){
    System.out.println("A000000"+i);
    }if(i==1000){
    System.out.println("A00000"+i);
    }
    }
      

  12.   

    好多高手哦,看来得经常在csdn里好好学习学习
      

  13.   


    for(int i = 1;i <= 1000;i++){
    System.out.println(String.format("A%09d", i));
    }( ^_^ )不错嘛
      

  14.   

    String vstr = "";
    for(int i=1; i<=1000; i++){
    System.out.println(String.format("A%09d", i));
    }不错的写法
      

  15.   


    for(int i=1;i<=1000;i++){
    String Num = "A00000000";
    String Str = (i > 999 ? Num.substring(0,6): i > 99 ? Num.substring(0,7) : i>9 ? Num.substring(0,8) : Num) + i;
    System.out.println(Str);
    }
      

  16.   


    int MyNum = 10000; //生成编号总数
    int MyLength = 5; //生成编号的位数
    String StrType = "0"; //默认不足位数填充符号
    for(int i=1;i<=MyNum;i++){
    String NumLength = "";
    for(int j=0;j<MyLength-1-String.valueOf(i).length();j++){
    NumLength+=StrType;
    }
    if(String.valueOf(i).length() > MyLength-1){ //如果生成编号位数大于规定位数则退出生成
    return;
    }
    String Str = "A"+NumLength + i;
    System.out.println(Str);
    }
      

  17.   

        java.text.DecimalFormat df = new java.text.DecimalFormat("0000000000");
        num=df.format( num);
    String str="a"+num;
      

  18.   

    public void print()
    {
    String first="A";
    for(int i = 1 ;i <= 1000 ; i++)
    {
    String i1=i.toString();
    if(i1.length==1)
    {
    String center="00000000";
    System.out.println(first+center+i1);
    }else if(i1.length==2)
    {
    String center="0000000";
    System.out.println(first+center+i1);
    }else if(i1.length==3)
    {
    String center="000000";
    System.out.println(first+center+i1);
    }else if(i1.length==4)
    {
    String center="00000";
    System.out.println(first+center+i1);
    }

    }
    }
      

  19.   

    第一种方案:做判定,
    如果是个位数,则前缀是A00000000
    如果是两位数,则前缀是A0000000
    如果是三位数,则前缀是A000000
    如果是1000, 则前缀是A00000第2中方案:
    将数字转化为字符串,判定长度,然后根据长度的差距来补0
      

  20.   

    String strInt = "";
            for(int i = 1;i <= 1000;i++){
                strInt = String.format("%09d", i);  
                System.out.println("A"+strInt);
            }
    这个比较易读易懂!
            for(int i=1;i<1001;i++){
             System.out.println(String.format("A%09d", i));
            }
    这个比较简洁!