Java 交换两个数的方法,不要直接写在main方法里的,是单独的方法。
5个回答
展开全部
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中参数和引用的问题建议看看下面的博文:
展开全部
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);
}
}
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;
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
冒泡就是交换的变形。
int temp
temp=a[i];
a[i]=a[j];
a[j]=temp;
交换了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询