为了账号安全,请及时绑定邮箱和手机立即绑定

一个长度为10的整形数组,并且为其赋值,将其奇数位的数值与偶数位的数值进行交换,用foreach输出

一个长度为10的整形数组,并且为其赋值,将其奇数位的数值与偶数位的数值进行交换,用foreach输出

慕粉1470213262 2016-08-03 16:39:43
在线等
查看完整描述

2 回答

?
阿旭_

TA贡献217条经验 获得超353个赞

public class Test2 {
	public static void main(String[] args) {
		// 一个长度为10的整形数组,并且为其赋值,
		int[] num_arr = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
		// 将其奇数位的数值与偶数位的数值进行交换,
		for (int i = 0; i < num_arr.length / 2; i++) {
			num_arr[i * 2] = num_arr[i * 2] ^ num_arr[i * 2 + 1];
			num_arr[i * 2 + 1] = num_arr[i * 2] ^ num_arr[i * 2 + 1];
			num_arr[i * 2] = num_arr[i * 2] ^ num_arr[i * 2 + 1];
		}
		// 用foreach输出
		for (int num : num_arr) {
			System.out.print(num + " ");
		}
	}
}

//img1.sycdn.imooc.com//57a1edc700010d2e03430160.jpg

查看完整回答
1 反对 回复 2016-08-03
?
ziom

TA贡献948条经验 获得超1109个赞

int[] arr = {1, 2, 1, 2, 1, 2, 1, 2, 1, 2};
for (int i = 0; i < arr.length; i++) {
  int temp1, temp2;
  if ((i+1)%2 == 0) { // 偶数位
    temp2 = arr[i];
    // temp2被赋值后temp1也一定已被赋值,所以此时进行数值交换
    arr[i-1] = temp2;
    arr[i] = temp1;
  } else { // 奇数位
    temp1 = arr[i];
  }
}
// 循环输出奇偶位交换后的数组
for (int k = 0; k < arr.length; k++) {
  System.out.println(arr[i] + " ");
}


查看完整回答
1 反对 回复 2016-08-03
  • 2 回答
  • 0 关注
  • 2058 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信