黑马程序员技术交流社区
标题:
有一个代码题不会做
[打印本页]
作者:
小菜白白白
时间:
2016-9-10 19:26
标题:
有一个代码题不会做
代码题:
(1)键盘录入6个int类型的数据存数数组arr中
(2)将arr数组中的内容反转
(3)将翻转后的数组角标为奇数的互相交换 1和3换, 3和5换,以此类推
(4)最后将数组最后一个角标为奇数的元素 和数组中第一个角标为奇数的元素交换
(5)打印最终的数组(实现了1-4步之后的数组)
(6)如:用户输入的6个int数字为[1,2,3,4,5,6],最后输出的结果为[6, 5, 4, 1, 2, 3]
代码:
public class Test1_arr {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int[] arr = new int [6];
System.out.println("请输入6个数");
for(int i=0;i<6;i++) {
arr
=sc.nextInt();
}
showArr(arr); //打印原数组
System.out.println();
reverseArr(arr); //反转数组
showArr(arr); //打印数组
}
private static void reverseArr(int[] arr) {
for (int i = 0; i < arr.length/2; i++) {
int temp=arr
;
arr
=arr[arr.length-i-1];
arr[arr.length-i-1]=temp;
}
}
private static void showArr(int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.print(arr
+" ");
}
}
}
第三个小步骤 (3)将翻转后的数组角标为奇数的互相交换 1和3换, 3和5换,以此类推 不会做了 ,是要用嵌套循环吗
作者:
wuhsuai
时间:
2016-9-10 19:47
public static void changeArr(int[] arr){
for (int i = 1; i < arr.length - 2; i+=2){
int temp = arr[i];
arr[i] = arr[i+2];
arr[i+2] = temp;
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2