数组的倒序输出?麻烦看看为什么不行?谢谢

wonkju 2012-07-02 07:23:42

import java.util.Arrays;
class Exercise06
{
public static void main(String[] args)
{
int[] oldArr={0,1,2,3,4,5,6,7,8,9};
swap(oldArr);
}
void swap(int[] a)
{
int[] newa=new int[a.length];//new一个新数组。
for (int i=a.length-1;i>=0 ;i-- )
{
System.arraycopy(a,i,newa, a.length-i, a.length-1);//将源数组从最后元素开始,一次复制给新数组。
}
System.out.print(Arrays.toString(newa));//输出数组。
}
}
...全文
450 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
巽谷雨 2012-07-03
  • 打赏
  • 举报
回复
多看看Arrays里的东西,那里有很多方法
任第一 2012-07-03
  • 打赏
  • 举报
回复
给你来个精典的:
Integer[] oldArr={0,1,2,3,4,5,6,7,8,9};
List list=Arrays.asList(oldArr);
Collections.reverse(list);
System.out.println(list);
huangxw000 2012-07-03
  • 打赏
  • 举报
回复
public class Arrays {
public static <T> T[] swap(T[] t, int len) {
if (t == null || len <= 0)
return null;
T temp = null;
for (int i = 0, j = len - 1; i <= j; i++, j--) {
temp = t[i];
t[i] = t[j];
t[j] = temp;
}
return t;
}

public static void main(String[] args) {
String[] a = new String[] { "a", "b", "c", "d" };
swap(a, a.length);
for (String s : a) {
System.out.println(s);
}
}
}

找工作中 2012-07-02
  • 打赏
  • 举报
回复
Good idea
patchlv 2012-07-02
  • 打赏
  • 举报
回复
谢谢分享经验,,不错的启发。。
wonkju 2012-07-02
  • 打赏
  • 举报
回复
嗯嗯,谢谢宝贵意见····
左眼跳跳 2012-07-02
  • 打赏
  • 举报
回复
你是对arraycopy这个方法的参数还不太清楚

arraycopy(要copy的数组,copy这个数组的起始位置,新的数组,copy到这个新数组的什么位置,copy几个元素到新数组里)
左眼跳跳 2012-07-02
  • 打赏
  • 举报
回复
public static void main(String[] args) {
int[] oldArr = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
swap(oldArr);
}

static void swap(int[] a) {
int[] newa = new int[a.length];// new一个新数组。
for (int i = a.length - 1; i >= 0; i--) {
System.arraycopy(a, i, newa, a.length - i - 1, 1);// 将源数组从最后元素开始,一次复制给新数组。
}
System.out.print(Arrays.toString(newa));// 输出数组。
}
wonkju 2012-07-02
  • 打赏
  • 举报
回复
嗯嗯,谢谢咯,我今天刚刚开始看的API,好像我是自作聪明把它用成可以变的量哦,嗯嗯,谢谢哦
左眼跳跳 2012-07-02
  • 打赏
  • 举报
回复
楼主你好好看看arraycopy方法,自会明白,看看API文档
brightyq 2012-07-02
  • 打赏
  • 举报
回复
void swap(int[] a) {
int[] newa = new int[a.length];
int j = 0;
for (int i=a.length-1;i>=0 ;i-- ){
newa[j++] = a[i];
}
System.out.print(Arrays.toString(newa));
}


楼主查下api,看下System.arraycopy这个方法是怎么用的

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧