java中能否写一个方法在主函数中调用可以使2个数数字交换,c语言用指针实现,java怎么弄 5

publicviodchange(inta,intb){inttemp;temp=a;a=b;b=temp;}... public viod change(int a,int b) {
int temp ;
temp = a;
a = b;
b = temp;
}
展开
 我来答
kak520
2013-08-26 · TA获得超过687个赞
知道小有建树答主
回答量:433
采纳率:0%
帮助的人:440万
展开全部
有以下两种方法:
1:将a,b都定义成类变量,这样可以替换。
2:将a,b存储到对象中,如HashMap或数组中,替换后返回
否则你只能在此方法中改变他们的值,int属于基本类型,都是传的值
25463chen
2013-08-26 · TA获得超过441个赞
知道小有建树答主
回答量:133
采纳率:100%
帮助的人:165万
展开全部
class NumberChange {
public static void main(String[] args) {
NumberChange change = new NumberChange();

change. change(3,5);

}

public viod change(int a,int b) {
System.out.println("交换前, a=" + a + ", b" + b);

int temp ;
temp = a;
a = b;
b = temp;
System.out.println("交换后, a=" + a + ", b" + b);
}
}
这样运行就可以了。

你说的在C中那是引用传递。
在java中因为byte,char,short,int,long,float,double,boolean等这些都是基本类型是不存在引用传递的。
除了上面的那8种基本类型,java中其他的都是引用类型,对这些类型的操作就和C里面是一样的了,在参数传递过程当中都是引用传递了。
追问
我是要替换全局变量,利用被调函数交换,不是改变局部变量
追答
这个简单啊,你在全局定一个静态变量就可以了。比如
private static String name = "zhangsan";
然后你在你的函数中改变了,在其他地方也改变了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Noveiciqi
2013-08-26
知道答主
回答量:18
采纳率:0%
帮助的人:6.6万
展开全部
可以不用使用指针,下面是我的解法;
void swap(int a,int b){
a=a+b;
b=a-b;
a=a-b;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-26
展开全部
java 没有指针 但是有引用啊。 一样的道理。
所以你说的是可以的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式