java定义子函数不能直接交换数组中的元素吗?

第一张图有小错,第二张才对。... 第一张图有小错,第二张才对。 展开
 我来答
松之song
2017-01-20 · TA获得超过446个赞
知道小有建树答主
回答量:489
采纳率:50%
帮助的人:350万
展开全部

可以的,你写的方法不对。

public class SwapArray {

public static void main(String[] args) {

int arr[] = {1,2,3,4,5,6};
print(arr);

swap(arr, 0, 1);
print(arr);
}

public static void swap(int []arr,int x,int y){
int temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}

public static void print(int []arr){
for(int a:arr){
System.out.print(a+"\t");
}
System.out.println();
}

}

结果:

追问
你那方法我也懂,传送的应该是数组的地址,我图片上注解部分就这样写过,我想问的是直接交换数组的内容为什么不行,所以我用arr[x]与arr[y]交换来验证。不知你知不知我在说什么?
追答

你图片中的方法都是错的,没有

static void swap(int arr[x],int arr[y]){}

这种方法的定义方式。如果想让你的代码正确编译

static void swap(int x,int y){}

这种是值传递的方式,交换数据并不会影响数组的内容

匿名用户
2017-01-19
展开全部
非简单类型,可以的

~~~~~~~~~~~
追问
答案太简单,不太懂你的意思,怎样改才对?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式