Java 交换两个数的方法,不要直接写在main方法里的,是单独的方法。

 我来答
TomHeaven
推荐于2017-11-26 · TA获得超过189个赞
知道小有建树答主
回答量:63
采纳率:0%
帮助的人:80.3万
展开全部

  Java 方法的参数是简单类型的时候,是按值传递的 (pass by value),所以Java里面不能实现和C中一样的swap方法来交换两个数的值。非要用的话只能这样写:

 //交换数组data中的第a和第b个元素
 public static void swap(int[] data, int a, int b) {
        int t = data[a];
        data[a] = data[b];
        data[b] = t;
    }

  估计不是你想要的效果。

       关于Java中参数和引用的问题建议看看下面的博文:

  http://blog.csdn.net/zw_2011/article/details/6431448

jiangzaifu
2013-08-18 · TA获得超过566个赞
知道小有建树答主
回答量:1169
采纳率:0%
帮助的人:441万
展开全部
package com.zaifu;
public class T
{
// 交换数组data中的第a和第b个元素
public static void swap(int a, int b)
{
System.out.println("********交换前********");
System.out.println("参数一:"+a+",参数二:"+b);
int t = a;
a = b;
b = t;
System.out.println("********交换后********");
System.out.println("参数一:"+a+",参数二:"+b);
}
public static void main(String[] args)
{
int x=10;
int y=20;
swap(x,y);
}
}
追问
哥们,你真能混淆视听!
追答
//嗯,上面犯了一各错误,java是传值的,那样只是交换了参数中的值,
//并没有影响实参的值。
//修改后的代码:
package com.zaifu;
public class exchange8
{
public static void main(String args[])
{
int[] x = new int[] { 2, 4 };
System.out.println("交换前x=" + x[0]);
System.out.println("交换前y=" + x[1]);
swap(x);
System.out.println("交换后x=" + x[0]);
System.out.println("交换后y=" + x[1]);
}
public static void swap(int[] x)
{
int temp = x[0];
x[0] = x[1];
x[1] = temp;
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yugi111
2013-08-18 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
冒泡就是交换的变形。

int temp

temp=a[i];
a[i]=a[j];
a[j]=temp;
交换了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
千江月success
2013-08-18 · TA获得超过827个赞
知道小有建树答主
回答量:1031
采纳率:100%
帮助的人:910万
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
快乐的小苏凯
2020-08-03
知道答主
回答量:7
采纳率:100%
帮助的人:2.9万
展开全部

恕我直言,下面的评论全是弟弟

代码我就不贴了,自己手打一下吧

解决方案

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式