社区
Java SE
帖子详情
想通过函数参数传回值,该怎么办?
SwordMan2001
2004-05-07 12:45:27
在C++中,可以通过引用型(&)参数回传参数值,从而有多个值要返回时用起来很方便,例如:
bool GetValue(int id, int& val1, int& val2)
{
if (id<=0) return false;
val1=100;
val2=200;
return true;
}
而在JAVA中却没有类似的机制,请问该怎样做才能将参数的值回传?
...全文
220
5
打赏
收藏
想通过函数参数传回值,该怎么办?
在C++中,可以通过引用型(&)参数回传参数值,从而有多个值要返回时用起来很方便,例如: bool GetValue(int id, int& val1, int& val2) { if (id<=0) return false; val1=100; val2=200; return true; } 而在JAVA中却没有类似的机制,请问该怎样做才能将参数的值回传?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
BigBangBug
2004-05-08
打赏
举报
回复
对大量的数据用vector包装吧,
flamingo2001
2004-05-07
打赏
举报
回复
JAVA中参数传递方式类似C++中的指针传值(注意不是传址),无法直接通过参数返回,但可以构成对象来回传值,我是这么做的:
import java.net.*;
import java.io.*;
class ArgObj
{
Object obj=null;
public ArgObj(Object _obj){
obj=_obj;
}
public ArgObj(int _i){
obj=new Integer(_i);
}
public ArgObj(long _i){
obj=new Long(_i);
}
}
class Test
{
public static void swap(ArgObj arg1, ArgObj arg2){
Object tmp=arg1.obj; arg1.obj=arg2.obj; arg2.obj=tmp;
}
public static void main(String args[]) throws Exception{
{
String s1="hello", s2="world";
System.out.println("s1=" + s1 + ", s2=" +s2);
ArgObj arg1=new ArgObj(s1), arg2=new ArgObj(s2);
swap(arg1, arg2);
s1=(String)arg1.obj; s2=(String)arg2.obj;//手工传回值
System.out.println("s1=" + s1 + ", s2=" +s2);
}
{
int n1=1000, n2=2000;
ArgObj arg1=new ArgObj(n1), arg2=new ArgObj(n2);
swap(arg1, arg2);
n1=((Integer)arg1.obj).intValue(); n2=((Integer)arg2.obj).intValue();
System.out.println("n1=" + n1 + ", n2=" + n2);
}
}
}
当然,也可以不通过自定义对象而用数组来做,方法也类似的.
我也觉得太麻烦了些,希望能有更好的办法.
flamingo2001
2004-05-07
打赏
举报
回复
或者用数组像这样回传参数:
class Test
{
public static void swap(String arg1[], String arg2[]){
//数组只用第一个元素
String tmp=arg1[0]; arg1[0]=arg2[0]; arg2[0]=tmp;
}
public static void main(String args[]) throws Exception{
String s1="hello", s2="world", arg1[]={s1}, arg2[]={s2};
System.out.println("s1=" + s1 + ", s2=" +s2);
swap(arg1, arg2);
s1=arg1[0]; s2=arg2[0];//将传回的参数值赋给原变量
System.out.println("s1=" + s1 + ", s2=" +s2);
}
}
无欲则钢
2004-05-07
打赏
举报
回复
可以通过对象的引用。
无欲则钢
2004-05-07
打赏
举报
回复
可以通过对象的引用。
c语言数组名做函数的参数传递,【C 语言】数组元素和数组名作为
函数参数
在发生函数调用时,把作为实参的数组元素的
值
传给形参,只是“拷贝”实参中的变量的
值
,传送给形参,实现单向的
值
传送数组元素作为函数实参的
值
传递过程2、数组名作为
函数参数
用数组名作为
函数参数
与用数组元素作...
C语言函数返回
值
与参数传递
C语言函数返回
值
与参数传递 ...1.传
值
的形式:只是将参数
值
的拷贝传给函数,并非参数本体如: int test(int x,int y) { x=2*y; return x; } int main(void) { int a=0,b=5; printf("%d,%d\n\r",test...
C++中的结构体指针作为
函数参数
,不会修改实参的
值
的问题。
最近博主在学c++,琢磨着用c++写个排序...经过一番折腾之后博主发现,当结构体指针传递给函数时,会拷贝一份指针的
值
,但是函数内部的指针和函数外部的指针并不是指向同一个引用的,所以才会使得函数里面改变了,但...
指针和引用作为
函数参数
的区别
这个问题是在写平衡树的时候遇见的,到网上看了很多,也没明白,自己...在AVL树的函数操作里,需要返回的改变较多,所以无法定义返回
值
函数,只能定义含参函数通过对参数的改变对树进行维护。 这里大家
想
到的肯定是...
【C++】引用作为
函数参数
C++中,引用作为
函数参数
引用作为
函数参数
C++之所以增加引用类型, 主要是把它作为
函数参数
,以扩充函数传递数据的功能。 ———————————————————— c++,函数传参: (1)将变量名作为实参和...
Java SE
62,635
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章