已经变了
输出是
g
b
c
d
e
f
a
你是否想输出gfedcba?

解决方案 »

  1.   

    public class test01{
    public static void main(String args[]){
    char[] ch=new char[7];
    char[] chd = new char[7];
    String str="abcdefg";
    ch=str.toCharArray();
    int j=0;
    System.out.println("ch"+ch.length);
    for(int i=ch.length-1;i>-1;i-- ){
    chd[j]=ch[i];
    j++;

    }

    for(int i=0;i<7;i++)
    System.out.println(chd[i]);
    }
    }
      

  2.   

    该成如下:
    public class test01{
    public static void main(String args[]){
    char[] ch=new char[7];
    String str="abcdefg";
    ch=str.toCharArray();
    int j=0;
    char temp='o';
    for(int i=ch.length-1;i>0; ){
    temp=ch[i];
    ch[i]=ch[j];
    ch[j]=temp;
                    i--;
    j++;
    if(i==j) break;

    }
    for(int i=0;i<7;i++)
    System.out.println(ch[i]);
    }
    }
      

  3.   

    数组是奇数位,永远都不会出现if(i==j) break;跳出的情况,如果数组是偶数位的话,此程序将能正确执行。
      

  4.   

    for (int i = ch.length; i > 0; i--) {
          temp = ch[i-1];
          ch[i-1] = ch[j];
          ch[j] = temp;
          temp1 = ch[j];
          j++;
          if (i == j)
            break;    }
      

  5.   

    public class Test{

    public static void main(String args[]){

    char[] ch=new char[7];
    String str="abcdefg";

    ch=str.toCharArray();

    int j=0;
    char temp='o';

    for(int i=ch.length-1;i>0;i-- ){
    temp=ch[i];
    ch[i]=ch[j];
    ch[j]=temp;
    j++;
    if(j>=i) break; //注意这边

    }
    for(int i=0;i<7;i++)
    System.out.println(ch[i]);
    }
    }
      

  6.   

    public static char[] conver(String str){
    char[] ch = null;
    ch = str.toCharArray();
    int times = ch.length/2;
    char tmp=0;
    int local = 0;
    for(int i=0;i<times;i++){
    local = (ch.length-1)-i;
    tmp = ch[local];
    ch[local]=ch[i];
    ch[i]=tmp;
    }
    return ch;
    }