public static void main(String[] args) {
// TODO Auto-generated method stub
String str="";
for(int i=1;i<=3;i++){
String m="1";
m=m+",";
str=m;
System.out.print(str);
}
System.out.println();
System.out.print(str);
}
为什么2次输出的str不一样啊 分别是1,1,1,和1,
我想取得的最后的值是1,1,1,改怎么做啊 

解决方案 »

  1.   

    你第1个输出是在for循环里的  循环了3次
    第2个输出不在循环里 只输入一次
    结果就是  1,1,1,和1,
      

  2.   

    public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    String str=""; 
    for(int i=1;i <=3;i++){ 
    String m="1"; 
    //m=m+","; 
    //str=m; 

    str += m + ",";
    System.out.print(str); 

    System.out.println(); 
    System.out.print(str); 

      

  3.   

    正解,你开始输出的str没有将1,串起来
      

  4.   


    public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    String str=""; 
    String m="1"; //把这个初始化放到外面来就可以了,放到里面每次循环都初始化了一次for(int i=1;i <=3;i++){ 
    m=m+","; 
    str=m; 
    System.out.print(str); 

    System.out.println(); 
    System.out.print(str); 
    }
      

  5.   

    public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    String str=""; 
    String m="1"; //把这个初始化放到外面来就可以了,放到里面每次循环都初始化了一次
    for(int i=1;i <=3;i++){ 
    m=m+","; 
    str=m; 
    System.out.print(str); 

    System.out.println(); 
    System.out.print(str); 
    }
      

  6.   

    第一次循环开始:
    m="1"
    m="1,"
    str="1,"
    第二次循环
    你又做了重复的操作。
    先是new了一个m 即
    m="1"
    m="1,"
    str="1,"
    第三次你还是做这样的操作,所以说不管你做几轮的操作
    结果都是会str="1,"
      

  7.   

    唉,这么多人在说,没个人说到正题上String对象是不能修改的请换成StringBuffer
      

  8.   


    对,我也刚想说用StringBuffer
      

  9.   

    用stringbuffer就可以得到你想要的结果了