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;
} 展开
int temp ;
temp = a;
a = b;
b = temp;
} 展开
4个回答
展开全部
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里面是一样的了,在参数传递过程当中都是引用传递了。
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";
然后你在你的函数中改变了,在其他地方也改变了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以不用使用指针,下面是我的解法;
void swap(int a,int b){
a=a+b;
b=a-b;
a=a-b;
}
void swap(int a,int b){
a=a+b;
b=a-b;
a=a-b;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-26
展开全部
java 没有指针 但是有引用啊。 一样的道理。
所以你说的是可以的。
所以你说的是可以的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |