下列
System.out.printf
语句输出的结果是什么?

Char a[]={„a‟,‟b‟,‟c‟,‟d‟,‟e‟};

For(i=0; i<=a.length/2; i++) 
{ 

char c=a[i]; 

a[i]=a[a.length-(i+1)]; 

a [a.length-(i+1)]=c; 
} 
System.out.printf(“%c%c%c%c%c”a[0],a[1],a[2
],a[3],a[4]); 
输出:
e,d,c,b,a 

 

 

对于“For(i=0; i<=a.length/2; i++) ”
循环,i从0开始,至2结束,每循环一次,i的值加1;
//据题意,a.length=5 且 i应该是整型数据,所以a.length/2=2
对于
For(i=0; i<=a.length/2; i++) 
{ 

char c=a[i]; 

a[i]=a[a.length-(i+1)]; 

a [a.length-(i+1)]=c; 
}

第一次:i=0;
c=a[0]=a
a[0]=a[5-1]=a[4]=e
a[4]=a[0]=a
此时数组如下:
Char a[]={„e‟,‟b‟,‟c‟,‟d‟,‟a‟};

第二次:i=1;
c=a[1]=b
a[1]=a[5-2]=a[3]=d
a[3]=a[1]=d
此时数组如下:
Char a[]={„e‟,‟d‟,‟c‟,‟b‟,‟a‟};

第三次:i=2;
c=a[2]=c
a[2]=a[5-3]=a[2]=c
a[2]=a[2]=c
此时数组如下:
Char a[]={„e‟,‟d‟,‟c‟,‟b‟,‟a‟};

三次循环执行结束就是最后结果。 

 

posted on 2019-03-20 22:54  空谈误国-实干兴邦  阅读(2053)  评论(0编辑  收藏  举报