请完成下列Java程序:建一个数组中的整数按依序重新存放,如果原来的次序为1,2,3,则改为3,2,1。数组大小为10,直接初始化方法进行初始化, 注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。 程序运行结果如下: 初始数组: 2 4 6 10 8 1 7 5 12 33 交换后的数组: 33 12 5 7 1 8 10 6 4 2 public class ex29_2 {public static void main(String[] args) { int i,temp; System.out.println("初始数组:"); int a[]={2,4,6,10,8,1,7,5,12,33}; for(i=0;i<10;i++) System.out.print(Integer.toString(a[i])+ " "); for(_____________________){ temp=a[i]; a[i]=a[10-i-1]; _________________; } System.out.println(); System. out.println ("交换后的数组: "); for(i=0;i<10;i++)System.out.print(Integer.toString(a[i])+ " "); } }
参考答案:
解析:i=0;i<5;i++ a[10-i-1]=temp 本题主要考查数组的操作和for循环。解题关键是将数组两头的数互相交换即可,即,第1个和最后一个,第2个和倒数第2个交换,以此类推。本题中,第1个空,i的上界应该是数组长度的一半,否则如果是整个数组长度,则又重新换回原来的数组了:第2个空,temp是临时存储单元,需要将temp中的值赋给a[10-i-1]。