黑马程序员技术交流社区
标题:
想把一个数组中的数反序输出,for不知道该怎么写
[打印本页]
作者:
liuelxiwd
时间:
2013-5-21 17:13
标题:
想把一个数组中的数反序输出,for不知道该怎么写
本帖最后由 liuelxiwd 于 2013-5-21 20:04 编辑
class Test
{
public static void main(String[] args)
{
int[] arr=new int[]{1,2,3,4,5,6};
revArray(arr);
for(int x=0;x<arr.length;x++)
System.out.print(arr[x]);
}
public static void revArray(int arr[])//用这个方法来反序
{
for(//这个条件该怎么设定啊)
{
int m=arr[start];
arr[start]=arr[end];
arr[end]=m;
}
}
}
复制代码
作者:
谢孔营
时间:
2013-5-21 17:22
如果只是反序的话
这样更简单
package com.sdut.day2;
import java.io.*;
import java.util.*;
public class Test
{
public static void main(String[] args)
{
int[] arr=new int[]{1,2,3,4,5,6};
revArray(arr);
}
public static void revArray(int arr[])//用这个方法来反序
{
for(int i =0 ;i<arr.length ;i++){
System.out.print(arr[arr.length-i-1]+" ");
}
}
}
作者:
袁梦希
时间:
2013-5-21 17:25
非常好,刘磊,继续努力。需要这种问题
作者:
刘正祥
时间:
2013-5-21 17:49
如果只是反序输出而不用交换数组的值 , 楼主想复杂了
直接定义 i 的初始值为 arr.length - 1 ;然后 i - - 就行了
class Test
{
public static void main(String[] args)
{
int[] arr=new int[]{1,2,3,4,5,6};
revArray(arr);
}
public static void revArray(int arr[])
{
for(int i = arr.length-1;i>=0;i--)
{
System.out.print(arr[i]+" ");
}
}
}
复制代码
作者:
石贤芝
时间:
2013-5-21 19:59
楼上答得都不错啊。
兄弟,下面是按你的思维方式来加上的条件。可以通过验证。
class Demo3 {
public static void main(String[] args) {
int[] arr = new int[] { 1, 2, 3, 4, 5, 6 };
revArray(arr);
for (int x = 0; x < arr.length; x++)
System.out.print(arr[x]);
}
//用这个方法来反序
public static void revArray(int arr[]){
for(int start=0, end=arr.length-1; start<arr.length; start++)
{
if(start<end){
int m=arr[start];
arr[start]=arr[end];
arr[end]=m;
end--;
} else{
// 什么也不做
}
}
}
}
复制代码
作者:
liuelxiwd
时间:
2013-5-21 20:05
非常感谢位!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2