public static void main(String[] args) {

StringBuilder num = new StringBuilder("");
for(int i=0 ; i<10;i++){
num.append("A12").append("0").append(i);
System.out.println(num);
}
System.out.println(num);
}
输出的是
A1200
A1200A1201
A1200A1201A1202
A1200A1201A1202A1203
我要的是
A1200
A1201
A1202

解决方案 »

  1.   

    再循环里把num设为" ",你这样每次都把前次的内容带到下一次循环中去了
    初始化可以去掉,声明变量就可以了
      

  2.   

    加这个A1200还是重复了啊我要的是
    A1200
    A1201
    A1202
    A1203
    A1204
    这样的。。没重复的
      

  3.   

    public static void main(String[] args) { String num="A12";
    for(int i=0 ; i <10;i++){ 
    System.out.print(num); 
    System.out.println(i); 


    --囧------
      

  4.   

    之前没看清楚是StringBuffer……
    总之就是在循环中先把这个num清空,或者索性在循环中声明它
      

  5.   


    public static void main(String[] args) { StringBuilder num = new StringBuilder("");
    num.append("A12").append("0");
    for (int i = 0; i < 10; i++) {
    if(i!=0)
    num.delete(num.length()-1, num.length());
    num.append(i);
    System.out.println(num);
    }
    System.out.println(num);
    }楼主看看这样行不?
    输出为:
    A1200
    A1201
    A1202
    A1203
    A1204
    A1205
    A1206
    A1207
    A1208
    A1209
    A1209
      

  6.   

    另外如果只是要输出这些而不需要做其他操作的话public static void main(String[] args) {
    for (int i = 0; i < 10; i++) {
    System.out.printf("A12%02d\n", i);
    }
    }
      

  7.   

    StringBuffer num=null;
    for(int i=0 ; i <10;i++){ 
      num = new StringBuffer("");
      num.append("A12").append("0").append(i); 
      System.out.println(num); 

    System.out.println(num); 
      

  8.   

    把num的生命写在循环里的第一句话 这样每次循环都重新初始化
      

  9.   

       楼主看看  这样就可以了  
    public class TestString {
    public static void main(String[] args) {
     StringBuffer num = new StringBuffer();
    for(int i = 0 ;i < 3;i++) {
    num.append("A12").append("0").append(i);
    System.out.println(num);
    num = new StringBuffer();
    }
    }
    }
      

  10.   

    public static void main(String[] args) {
    // TODO Auto-generated method stub for(int i = 0; i < 10; i++){
    StringBuilder sb = new StringBuilder();
    sb.append("A12").append("0");
    System.out.println(sb.append(i));
    }
    }
    程序应该这样写
    你的循环里面始终在操作同一个StringBuilder对象,其值一直随着你的循环再拼接,当然不会出现你想要的结果了
      

  11.   

    public static void main(String[] args) { 
    for(int i=0 ; i <10;i++){ 
    StringBuilder num = new StringBuilder(""); 
    num.append("A12").append("0").append(i); 
    System.out.println(num); 

    System.out.println(num); 

    放在for循环的里面声明就可以了
      

  12.   

    //StringBuilder num = new StringBuilder(""); 
    String num="";
    for(int i=0 ; i <10;i++){ 
    //num.append("A12").append("0").append(i); 
     String s= num.concat("A12").concat("0").concat(""+i);
    System.out.println(s); 

    // System.out.println(num); 
    用String行吗