打印 翻转方法(仅打印9到5)但我希望它从9打印到0 http://imgur.com/gggiJwn public static void flip(int [] flp){ System.out.println(“这是翻转方法”);
for ( int i = 0; i < flp.length; i++){
int e = flp.length-1;
int temp = flp[e-i];
flp[i] = flp[e-i];
flp[i] = temp;
e--;
System.out.println("Index"+(i)+" :"+flp[i]); //is this the problem?
}
}
}
答案 0 :(得分:0)
问题在于您正在打印一半元素
i < flp.length/2
那应该是
i < flp.length
答案 1 :(得分:0)
您的for
循环打印9到5,因为这是您将循环配置为迭代到i < flp.length/2
的方式。
将其更改为:
i < flp.length
来自
i < flp.length/2
答案 2 :(得分:0)
您需要将逻辑更改为以下以反转完整数组
public static void flip(int[] flp){
System.out.println("This is the flip method");
for ( int i = 0; i < flp.length/2; i++){
int e = flp.length-(1+i);
int temp = flp[i];
flp[i] = flp[e];
flp[e] = temp;
// remove print from here. else you will get half of the array
// since flp.length/2
}
}
在单独的方法中添加它。
for(int i = 0; i < flp.length; i++){
System.out.println("Index"+(i)+" :"+flp[i]);
}
答案 3 :(得分:0)
实际上,你的for循环很好 - 但是你应该从那个循环内部删除打印,并在翻转循环之后将它放在一个单独的循环中
for ( int i = 0; i < flp.length; i++){
System.out.println("Index"+(i)+" :"+flp[i]);
}
答案 4 :(得分:0)
public static void flip(int[] flp) {
System.out.println("This is the flip method");
int e = flp.length - 1;
for (int i = 0; i < flp.length / 2; i++) {
int temp = flp[i];
flp[i] = flp[e];
flp[e] = temp;
e--;
}
for (int i = 0; i < flp.length; i++) {
System.out.println("Index" + (i) + " :" + flp[i]);
}
}